Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΈΡΠ΅ΠΊΡ 12 Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅
FAQ ΠΏΠΎ DirectX 12: Π²ΡΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ
ΠΠ°ΠΆΠ΄ΡΠΉ Π³Π΅ΠΉΠΌΠ΅Ρ Ρ ΠΎΡΡ ΡΠ°Π· ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ Π·Π²ΡΠΊΠ° Π² ΠΈΠ³ΡΠ°Ρ , ΠΈ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ» ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ ΡΠ»Π°ΠΆΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈΠ³Ρ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ. ΠΠ»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Microsoft ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π½Π°Π±ΠΎΡ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² β DirectX.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ DirectX 12
DirectX 12 (DX12 ΠΈΠ»ΠΈ ΠΠΈΡΠ΅ΠΊΡ ΠΠΊΡ 12) β Π²Π΅ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΠ‘ Windows 10, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΠΎΡΠΎΠ±Π½Π° Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΌΠΎΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π² ΠΏΠΎΠ»Π½ΡΡ ΡΠΈΠ»Ρ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ
Π·Π°Π΄Π°Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°Π±Π»ΡΠ΄Π°Π΅Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ
ΠΈΠ³Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΈ Π±ΡΠ»ΠΎ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ: Π±ΡΡΡΡΠ°Ρ ΡΠΌΠ΅Π½Π° ΠΊΠ°Π΄ΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΊΠ»Π°ΡΡΠ½ΡΠΉ Π·Π²ΡΠΊ, Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠ°Ρ Π³ΡΠ°ΡΠΈΠΊΠ°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² 3D.
DX12 ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π²ΡΠ΅Ρ
ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
Π²Π΅ΡΡΠΈΠΉ DirectX. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΄Π°ΠΆΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ. Π Π΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠΉ Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΡΠΌΠ΅Π½Ρ ΠΊΠ°Π΄ΡΠΎΠ², ΡΡΠΎ Π²ΠΎΡΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. ΠΠ° ΡΡΠΈΠΌ ΡΡΠΎΡΡ 2 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ DX12, ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π½ΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ. ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π±ΡΡΠ΅Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΠΉΠ΄Π΅ΡΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ GPGPU ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°.
Π DX12 ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Tiled Resources. Π‘ΠΎ ΡΠ»ΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΠΎΠ½Π° Π΄Π°Π΅Ρ Β«Π±Π΅ΡΠΏΡΠ΅ΡΠ΅Π΄Π΅Π½ΡΠ½ΡΡ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΒ», ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡΡ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Π·Π³Π»ΡΠ΄ ΠΈΠ³ΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π² ΠΈΡ ΡΡΠΎΡΠΎΠ½Ρ. ΠΡΠΎ ΡΠ°Π·Π³ΡΡΠ·ΠΈΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π° Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ. ΠΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° Π»ΡΡΠ΅ΠΉ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ³ΠΎΠ» ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ DirectX.
Π£Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ DX ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΠ‘ Windows 10, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ DxDiag. ΠΠ½ ΡΠ°ΡΠΊΡΠΎΠ΅Ρ Π²ΡΡ Π½ΡΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ , Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ:
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Windows ΠΏΡΠΈΠ½ΡΠΈΠΏ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΡ ΠΎΠΆ.
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Windows, Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° NET Framework ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΡΠΎ Ρ Π²Π°Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ DirectX ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ DX12, ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡ Π΅ΠΌΠ΅:
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ, ΡΠ΅ΠΌ DirectX 12. ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΠ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ. ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΠ΅Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ DX12, ΡΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅.
ΠΠΎΡΠ΅ΠΌΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²Π΅ΡΡΠΈΡ DirectX 11 ΠΈΠ»ΠΈ 10, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (application programming interface ΠΈΠ»ΠΈ API) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠΌΡ ΠΈΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΌ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ³ΡΡ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΠΎΡ API ΠΎΡ Microsoft Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅Ρ Π² ΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ
Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ Π΄Π»Ρ Windows, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡΡ DX12 ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ²ΠΎΠΈΡ
ΠΈΠ³Ρ. Π ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Ρ Microsoft ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΡ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Nvidia ΠΈ AMD. Π’Π°ΠΊΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΏΠΎΠ΄ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ API ΠΏΠΎΠ΄Π³ΠΎΠ½ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π³ΠΈΠ³Π°Π½ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ³ΡΠ°ΡΠΈΠΊΠΈ ΠΊΠ°ΠΊ Intel ΠΈ Qualcomm.
Windows 10 Ρ DirectX 12 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ²: ΡΡΠ°ΡΠΈΠΎΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, Π½ΠΎΡΡΠ±ΡΠΊΠΈ, ΠΏΠ»Π°Π½ΡΠ΅ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠ°ΡΡΡΠΎΠ½Ρ. Π‘ ΡΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄ Xbox One. ΠΠΎ Π΅ΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΠ ΡΡΠΎΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΠΎΠ΄ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡΡΠΊΠΎΠ³ΠΎ API, ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ DX12 Π½Π΅ ΡΠ΄Π°ΡΡΡΡ, Ρ Π²Π°Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π»ΠΈ Π²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ° ΠΏΠΎΠ΄ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ DX12:
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ
Intel:
ΠΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Qualcomm.
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°ΠΌΠΈ
ΠΡΠ»ΠΈ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π½Π΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ β Π½Π΅ ΠΎΡΡΠ°ΠΈΠ²Π°ΠΉΡΠ΅ΡΡ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΉ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ DX12
ΠΡΠ»ΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ³Ρ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΡΡ
Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ DirectX, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠΎ Π²ΠΈΠ½ΠΎΠΉ Π²ΡΠ΅ΠΌΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ»ΡΠΆΠΈΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π΄Π°Π»ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ β ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ Π½ΠΎΠ²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°.
Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π³ΠΎΠ΄ΠΎΠΌ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² API ΠΎΡ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ, ΡΠΎΠ²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ΡΠ°ΡΠ½Π½ΠΎ Π½Π΅ Π½Π°ΡΡΡΠΈΠ» ΡΡΡΠΎΠΉΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Windows, DirectX ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΄Π°Π»ΠΈΡΡ DX12 Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Β«Π£Π΄Π°Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡΒ» Π½Π΅Π»ΡΠ·Ρ. ΠΠΎ Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ.
ΠΠΎΡΠ»Π΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡ
Π΅ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΈΠ³Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΠΈΡΡΡΡ. ΠΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ, ΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½ΡΠΆΠ½Π°Ρ ΠΈΠ³ΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ Π²Π΅ΡΡΠΈΡ DX, ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ½ΡΡΡ Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. Π ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ Π΄Π»Ρ ΡΠΊΠ°ΡΠΊΠΈ ΠΠ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅Β».
ΠΠ»ΠΈ Π²Ρ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΡΠ΅Π½ΠΈΡΠ΅Π»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ³Ρ, ΡΠΎ Π±Π΅Π· DX12 Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ ΠΏΠΎΡΡΠ°ΡΠ°Π»ΠΈΡΡ ΠΈ ΡΠΎΠ²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΡΠ², ΠΎΡΠΊΡΡΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ³Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ DX12, Π²Ρ ΠΏΠΎΡΡΠ²ΡΡΠ²ΡΠ΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°Π·Π½ΠΈΡΡ Π² ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ² Π΄Π°ΠΆΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ.
DirectX 12 β ΠΎΡ ΠΠ΅ΠΎΠ½Π°ΡΠ΄ΠΎ Π΄Π° ΠΠΈΠ½ΡΠΈ ΠΊ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌΡ ΠΈΡΠΊΡΡΡΡΠ²Ρ
ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ Π³ΡΠ°ΡΠΈΠΊΠ° β ΠΎΠ±ΡΠΈΡΠ½Π°Ρ ΠΈ Π±ΡΡΡΡΠΎΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ°ΡΡΡ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π°. Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π³ΠΎΠ΄ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ ΡΡΠΎΠ²Π½Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² 3d-ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ ΠΊ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
DirectX 12 β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅Π»ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ CPU-ΠΎΠ²Π΅ΡΡ Π΅Π΄Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ²Π½Ρ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ API (Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ vender-specific ΡΠ΅ΡΠ΅Π½ΠΈΡ CrossFireX, NVIDIA SLI). ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Π²ΡΠΏΡΡΠ΅Π½ Microsoft Π² ΠΈΡΠ»Π΅ 2015.
Π‘ΡΠ°ΡΡΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π» Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ (OpenGL, DirectX 11). ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ Π½Π°ΡΠ°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ 12 Π²Π΅ΡΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ.
Π Π½Π΅ΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ:
ΠΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
DirectX 12 ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Windows SDK Π² Windows 10. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ IDE ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Visual Studio, ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ DirectX, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Ρ Π΅Π΄Π΅ΡΡ d3d12.h dxgi1_6.h ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ d3d12.lib, dxguid.lib, dxgi.lib, d3dcompiler.lib. ΠΡΠ΅ ΡΡΠΎ Π»Π΅ΠΆΠΈΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ Windows SDK. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ «D3D12 Helper Library» Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° d3dx12.h, ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ boilerplate ΠΊΠΎΠ΄Π°. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ d3dx12.h ΠΈ Π²Π»ΠΎΠΆΠΈΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°
Π ΠΎΡΠ½ΠΎΠ²Π΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π»Π΅ΠΆΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡΠ΅ΡΠΎΠΌ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ β Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΡΠ°ΠΏΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ, ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅, ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡΠ΅Ρ β ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π·Π°ΡΠ°ΡΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π»ΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
ΠΡΠ°ΠΊ, Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ΅Π½Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π² ΠΎΠ±ΡΠΈΡ ΡΠ΅ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠ½
ΠΠ°ΠΆΠ΄Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ°ΠΊΠΈΡ , ΠΊΠ°ΠΊ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΡΠ²Π΅Ρ, ΡΠ΅ΠΊΡΡΡΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, Π²Π΅ΠΊΡΠΎΡ Π½ΠΎΡΠΌΠ°Π»ΠΈ ΠΈΠ»ΠΈ Π²ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ ΠΈΠ· ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅. Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ Π²Π΅ΡΡΠΈΠ½ β ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ°Π΄ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°. ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Π°ΡΡΠΈΠ±ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²Π΅ΡΡΠΈΠ½Ρ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, ΡΠ°ΡΡΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π²Π΅ΡΡΠΈΠ½. ΠΠ°ΠΆΠ΄Π°Ρ Π²Π΅ΡΡΠΈΠ½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΄ΡΠ°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²Π΅ΡΡΠΈΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ (clip space).
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΈ ΡΠ°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° β ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ. ΠΠ· ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΠΊΠ° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ². Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ², Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ»ΠΈ ΡΠΎΡΠ΅ΠΊ. ΠΠ°Π΄ ΡΡΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΡΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π’Π°ΠΊΠΆΠ΅ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ±ΡΠΎΡΠ΅Π½Ρ Π·Π°Π΄Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΡΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±Ρ ΠΎΠ΄Π° Π²Π΅ΡΡΠΈΠ½ (ΠΏΠΎ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΠ²). ΠΠ°ΠΊΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π·Π°Π΄Π½Π΅ΠΌΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΡ Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ API. ΠΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ, ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠ΅ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ.
Π’Π΅ΠΊΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅
ΠΠ°Π΄ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ², ΡΠ°ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² Π½Π°Π±ΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ², Π½Π° ΡΡΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ΅ΠΊΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°. Π’Π°ΠΊΠΆΠ΅ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π½ΠΎΠ²Π°Ρ Π³Π»ΡΠ±ΠΈΠ½Π° ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΊΠ°Π΄ΡΠ°.
ΠΠΎΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΄ ΠΏΠΎΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΡ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ (scissor test), ΡΠ΅ΡΡ ΡΡΠ°ΡΠ°ΡΠ΅ΡΠ° (stencil test) ΠΈ ΡΠ΅ΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ (depth test). ΠΡΠΈ ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π²ΠΈΠ΄, ΡΠ²Π΅Ρ ΠΈ Π³Π»ΡΠ±ΠΈΠ½Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΊΡΠ°Π½Π½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ°. ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, ΡΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ. ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΠ΅Ρ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΏΠΈΠΊΡΠ΅Π»Π°, Π° ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΊΡΠ°Π½Π½ΡΠΉ Π±ΡΡΠ΅Ρ. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ°Π΄ΠΈΡ ΡΠ΅ΠΊΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΊΡΠ°Π½Π½ΠΎΠΌΡ Π±ΡΡΠ΅ΡΡ.
ΠΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ DirectX 11 (Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΏΠΎ DiretcX 12 Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ Π»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ)
ΠΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ DirectX 12
ΠΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΎΡ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ DirectX 12.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΡ
Π 11 Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ: RSSetState(), OMSetDepthStencilState(), OMSetBlendState(). ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠ»ΠΎΡ ΠΎ Π»ΠΎΠΆΠΈΡΡΡ Π½Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π°Π΄Π°ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°. Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΎΡΠΌΡΡΠ»ΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΠ»ΠΈ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π² ΠΎΠ΄Π½ΠΎ β PSO (Pipeline State Object). Π’Π°ΠΊΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ «Π²ΠΈΡΡΡΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ », ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ°Π»ΠΈΡΡ Ρ ΠΏΡΠΎΡΠ»ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΎΠ². ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π΄Π»Ρ Π»ΡΡΡΠ΅ΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΡ ΡΠ΅ΡΡΡΡΠ°Ρ Π² ΡΠ΅ΠΉΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π· Root Signature (ΠΎΠ± ΡΡΠΎΠΌ Π½ΠΈΠΆΠ΅).
ΠΠΎΠΌΠ°Π½Π΄Ρ
Π ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ immideate context. ΠΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈΡΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² DirectX 11 ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ deferred context. Π DirectX 12 immideate context Π±ΡΠ» ΠΈΡΠΊΠ»ΡΡΠ΅Π½ ΠΈ deferred ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΡΠ°Π»Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ deferred command list, ΠΈ Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΈ ΡΡΠΎΠΉΠ½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΉ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π½ΠΎ: ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ command list, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ, CPU ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π»ΠΈΡΡΠ°.
ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΡΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΎ ΡΠ΅ΡΡΡΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Ρ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌΡ Π»ΠΈΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎΡΡ Π½Π° GPU, Π²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π½ΡΡΠ΅ Π»Π΅Π³Π°Π»ΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Release() Π΄Π»Ρ ΡΠ΅ΠΊΡΡΡΡΡ ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ β Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ»Π΅Π΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π°Π»ΠΈΡ Π΅Π³ΠΎ.
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ
ΠΠ»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ GPU, DirectX 12 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ fence, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ID3D12Fence ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. Fence β ΡΡΠΎ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ GPU Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΌΠΈΡΠΈΠ½Π³ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Β«ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎΒ» Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΡΠ·ΡΠ²Π°Ρ ID3D12CommandQueue::Signal() Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ID3D12Fence::SetEventOnCompletion(UINT64 Value, HANDLE hEvent) ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠΌ winapi event. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ WaitForSingleObject() Π½Π°Π΄ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌ event-ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ° Π½Π° GPU Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² fence ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡ, Π²ΡΠ·ΠΎΠ² WaitForSingleObject() ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΡΠΎΠΊ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ²
ΠΠΈΠ½Π΄ΠΈΠ½Π³ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΡΠ΅ΠΉΠ΄Π΅Ρ β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΡ ΡΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ DirectX.
ΠΠ±Π·ΠΎΡ
Π DirectX 11 ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π±ΠΈΠ½Π΄ΠΈΠ½Π³Π°: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΡΡ Π² ΡΠ΅ΠΉΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ API. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π²ΡΡ ΡΠ΅ΠΊΡΡΡΡ (Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡΡ ΠΎ ΡΠ΅ΠΌΠΏΠ»Π΅ΡΠ°Ρ ) Π² 5 ΠΈ 6 ΡΠ»ΠΎΡΡ ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΉΠ΄Π΅ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠ΄Π΅ GetShaderResourceView() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° ID3D11ShaderResourceView.
Π ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ°ΠΊ:
Π’Π°ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Π½ΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ Π½Π΅Ρ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅. ΠΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΡΡΡΡΠ΅? ΠΡΠ»ΠΈ ΠΌΡ Π·Π°Π³Π»ΡΠ½Π΅ΠΌ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ GCN ISA, Π½Π°ΠΉΠ΄Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ:
All vector memory operations use an image resource constant (T#) that is a 128- or 256-bit value in SGPRs. This constant is sent to the texture cache when the instruction is executed. This constant defines the address, data format, and characteristics of the surface in memory.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡΡ, Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΡΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ (128 ΠΈΠ»ΠΈ 256-Π±ΠΈΡΠ½ΡΠΉ), ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Π»ΡΠ±ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΠΌΡ ΠΏΡΠΎΡΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΌΡ Π·Π°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΠΆΠ΅ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΡΡΡΠΎΠ². Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΡΡΡΡ, ΠΏΠΎΠ½ΡΡΠΈΠ΅ Β«ΡΠ»ΠΎΡΒ» Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π΄Π°ΠΏΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°ΠΌΠΈ: ΡΠ΅ΠΊΡΡΡΡΡ (T#), ΡΡΠΌΠΏΠ»Π΅ΡΠ° (S#) ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ (V#). Π‘ Direct3D 12 ΡΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ β Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ°ΠΌΡΡΡ GPU.
ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ
Π‘Π΅ΠΉΡΠ°Ρ ΡΠ΅ΡΡΡΡΡ Π½Π΅ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡΡΡΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ ΠΏΡΡΠΌΠΎ ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠΏΠΎΡΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π· Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ. ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡ β Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΡΠΎΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΡΡΡΡΠ΅ (GPU Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ, ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠΏΠΎΠ², ΡΠΎΡΠΌΠ°Ρ). ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² Ρ ΡΠ°Π½ΡΡΡΡ Π² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ½ΠΎΠΉ ΠΊΡΡΠ΅ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ½ΡΠ΅ ΠΊΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠ°Ρ ΡΠ΅ΡΡΡΡΠΎΠ²:
CBVs, UAVs, SRVs ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ½ΠΎΠΉ ΠΊΡΡΠ΅, Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΠΌΠΏΠ»Π΅ΡΠΎΠ² β Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ. ΠΡΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΠ΅ΠΌΠΏΠ»Π΅ΡΡ Π² ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΡΡΠ΅ ΠΌΡ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ shader visible ΡΠ΅ΡΡΡΡΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ non shader visible ΡΠ΅ΡΡΡΡΡ:
Π’Π°ΠΊΠΈΠ΅ views ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ° Π² ΠΏΠ°ΠΉΠΏΠ»Π°Π½ (Π½ΠΎ Π½Π΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅), ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ non shader visible Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ½ΠΎΠΉ ΠΊΡΡΠ΅ (ΡΡΠΎ Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ D3D12_DESCRIPTOR_HEAP_FLAGS::D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΡΡΠΈ).
ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π³ΡΡΠΏΠΏΠ° view’s, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ (ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ½Π°Ρ ΠΊΡΡΠ°) Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ:
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠΈΠΏΠ°ΠΌΠΈ D3D12_INDEX_BUFFER_VIEW ΠΈ D3D12_VERTEX_BUFFER_VIEW ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π’ΠΎ Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΡ ΠΈ Π²Π΅ΡΡΠΈΠ½Π½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ°Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Π² Pipeline State Object. ΠΡΡ ΠΏΠ°ΠΌΡΡΡ Π² PSO Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΈΠΏΠ° ID3D11. View, ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ½ΠΎΠΉ ΠΊΡΡΠ΅.
Root signature
Root signature β ΠΎΠ±ΡΠ΅ΠΊΡ DirectX 12 API ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π»ΡΠΉΠ°ΡΡΠ° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ»ΠΎΡΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠ°. ΠΡΠΎ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΠ³Π½Π°ΡΡΡΠ° ΡΠ΅ΠΉΠ΄Π΅ΡΠ° ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ². Root signature Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΈ Π΄Π°Π½Π½ΡΡ , ΠΎΠ½Π° Π»ΠΈΡΡ Π·Π°Π΄Π°Π΅Ρ Π»ΡΠΉΠ°ΡΡ (ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ) Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΈΠ½Π΄ΡΡΡΡ ΡΠΆΠ΅ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°.
Root signature ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ² Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ root parameter. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ root parameter ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π½ΡΠ°ΠΉΠΌΠ΅ ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ root arguments. ΠΠ΅Π½ΡΡ root argument, ΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΠ°Π΅Ρ ΡΠ΅ΠΉΠ΄Π΅Ρ. Root parameter Π±ΡΠ²Π°ΡΡ ΡΡΠ΅Ρ ΡΠΈΠΏΠΎΠ²:
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ root signature β 64 DWORDs. Π’ΠΈΠΏΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΡΠ΅ΡΡΡΡΠ° Π² ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅, Π½ΠΎ ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ.
Root constant ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ Π² root signature 32-Π±ΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ ΠΊΠ°ΠΊ constant buffer. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ Π΄Π»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΡ ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, MVP ΠΌΠ°ΡΡΠΈΡΡ), Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΆΠ΅ΡΡΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ (Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡ 4 ΠΌΠ°ΡΡΠΈΡΡ). Π’Π°ΠΊ ΠΆΠ΅ ΡΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Ρ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ, ΠΈ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΠΌ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ. ΠΠΎΠ»Π½ΠΎΡΡΡΡ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΡΡΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ: ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ «ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π·Π°Π±ΡΡΡ».
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Π² root signature Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² Π² ΠΊΡΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² β ΡΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± inline descriptors. ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ β ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° per object. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π² ΠΊΡΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ². ΠΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ. ΠΠ΅ΡΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ (ΡΠΎ Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°), Π½ΠΎ ΡΠ΅ΡΡΡΡ ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠΎΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° GPU. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ID3D12GraphicsCommandList::SetGraphicsRootConstantBufferView, Π² Π½Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ root parameter Π½Π°ΡΠ΅Π³ΠΎ inline descriptor ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ Π±ΡΡΠ΅ΡΠ°.
ΠΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΡΡΠ΅ΡΡΠ΅ΠΌΡ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ². Π’Π°Π±Π»ΠΈΡΠ° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ°ΡΡΠΈΠ² descriptor range. Descriptor range β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ΄ΠΎΠΌ:
ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ RangeType β ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΏ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ°, NumDescriptors β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, BaseShaderRegister β Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ° Π²Π½ΡΡΡΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠ°. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ. Π ΡΠ°Π½ΡΠ°ΠΉΠΌΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ID3D12GraphicsCommandList::SetGraphicsRootDescriptorTable, Π² Π½Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ root parameter Π½Π°ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ. ΠΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΠ΄Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ Π² descriptor heap.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ DirectX 12. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ Π΄Π°Π½Π½Π°Ρ ΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ, ΠΎΡΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ .
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ DirectX 12 ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΠ½ Π½Π΅ΡΠ΅Ρ?
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ DirectX 12 ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΠ½ Π½Π΅ΡΠ΅Ρ?
ΠΠΈΠ½ΠΈ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ 11
ΠΠ°ΠΊ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΈΠ½ΠΈ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² 11
ΠΠ°ΠΊ Π²Π΅ΡΠ½ΡΡΡ ΡΡΠ°ΡΠΎΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π² 11
ΠΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ PC Health Check Π½Π° 11
ΠΠ΅ ΠΌΠΎΠ³Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡΡ Π΄ΠΎ 11
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΠ»ΠΈ Π·Π° Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈΠ΅ΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½ΠΎΠ²ΠΎΠΉ Windows 10, Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π½Π΅ ΡΠ΅Π΄ΠΊΠΎ Π² Π½ΠΈΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΡΡ DirectX 12. ΠΡΠΎ Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ β Ρ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° Microsoft Π·Π°Π³ΠΎΠ²ΠΎΡΠΈΠ»Π° ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π½Π΅ ΡΠ°Π· ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π»Π° ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ»Ρ, ΠΎΡΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π² Π½Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ DirectX. ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠ°ΠΊ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ Π²Π°Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½Π΅ΡΠ΅Ρ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Ρ ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠ΅ΠΉ Windows 10? Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΡΠΎΡΠΈΠΈ
Π₯ΠΎΡΡ ΠΎΠ½ ΡΠ°ΡΡΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Windows, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ DirectX ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Windows 95. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄ ΠΎΠ±ΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» (application programming interface ΠΈΠ»ΠΈ API). ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΈΡ Π³Π»Π°Π²Π½Π°Ρ ΡΠ΅Π»Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ³ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ) ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows.
ΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ DirectX (ΠΊΠΎΡΠΎΡΠ°Ρ Π½ΠΎΡΠΈΠ»Π° ΡΠ΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 2.0Π°) Ρ Windows 95 Service Release 2, Π·Π°ΠΏΡΡΠΊ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΈΠ³Ρ) Π±ΡΠ» Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°ΡΠ°Π»Π°ΡΡ ΠΊ DOS β ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊ Windows Π±Π΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΠΎ Π±ΡΠ», ΠΌΡΠ³ΠΊΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π·Π²ΡΠΊΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ° ΠΈ Ρ.Π΄.
Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows 95 Microsoft ΡΠ΅ΡΠΈΠ»Π°, ΡΡΠΎ ΠΏΠΎΡΠ° ΠΎΡΠΊΡΡΡΡ Π½ΠΎΠ²ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΎΡΠΎΠ·Π½Π°Π»Π°, ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΈ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠ΅Π΄ΠΈ Π³Π΅ΠΉΠΌΠ΅ΡΠΎΠ², ΠΎΠ΄Π½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠ°ΠΉΡΠ»ΠΎΠ².
Π’Π°ΠΊ ΡΠΎΠ΄ΠΈΠ»ΡΡ DirectX β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²ΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΌΡ ΠΈΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
Π Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ API ΠΏΠΎΡΠ»ΠΎ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° ΡΠΎΠ½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅Π³ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π³ΠΎΠ΄Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅ OpenGL. ΠΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ, DirectX ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π²ΡΠ΅ Π»ΡΡΡΠ΅ ΠΈ Π»ΡΡΡΠ΅, ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡΠΊΡ Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΠ΅Ρ Π² ΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ β ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Windows.
Π‘ΡΠ°ΡΡΠ»ΠΈΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 12
ΠΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΡΠΈΡΡΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π΄Π²Π΅Π½Π°Π΄ΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ DirectX, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠ· Π²ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½Π½Π°Π΄ΡΠ°ΡΠΈ Π΄ΡΡΠ³ΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡ Π΅ΠΉ.
ΠΡΠ°Π²Π΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΠ΅ β Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ 10, Microsoft Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Β«Π»Π΅ΠΆΠ°Π»Π° Π½Π° ΡΡΠ°ΡΡΡ Π»Π°Π²ΡΠ°Ρ Β», Π΅ΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ DirectX. ΠΠΎΠΌΠΈΠ½ΠΈΡΡΡΡΠ΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (ΠΈ Windows Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ) Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ PC ΡΠ΄Π΅Π»Π°Π»ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π½ΠΈΠ²ΠΎΠΉ, ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π² Π²Π΅ΡΡΠΈΡΡ 10 ΠΈ 11 Π±ΡΠ»ΠΈ ΡΠΊΠΎΡΠ΅Π΅ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ, ΡΠ΅ΠΌ ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π½ΠΎΠ²ΡΠ΅, Π½ΠΎ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π½ΠΈΡ Π²Π΅ΡΡΠΈΡ 12 ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ, ΡΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ DirectX Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΠΈ Π΄Π»Ρ Microsoft Π² ΡΠ΅Π»ΠΎΠΌ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Windows 10 Π±ΡΠ΄Π΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ , ΠΏΠ»Π°Π½ΡΠ΅ΡΠ°Ρ , Π½ΠΎΡΡΠ±ΡΠΊΠ°Ρ , Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΠΈ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ (Xbox One), ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ DirectX 12 ΠΎΡΡΠ°Π·ΠΈΡΡΡ Π½Π° Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΏΠ΅ΠΊΡΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠ»Π°Π΄Π΅Π»ΡΡΠ°ΠΌ Xbox One, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠ±Π΅ΡΠ°Π΅Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ Π½Π° Π²ΠΈΠ΄ ΠΈΠ³ΡΡ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π² Microsoft Π½Π°Π΄Π΅ΡΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ DirectX 12 ΡΠ½ΠΈΡΡΠΎΠΆΠΈΡ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ° β ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Sony PlayStation 4, ΠΊΠΎΡΠΎΡΠ°Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠΎΡΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ Xbox One. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎΠ²ΡΠΉ API ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈΠ³Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ESRAM Π±ΡΡΠ΅ΡΡ Xbox, Π° ΡΡΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
DirectX 12 ΠΎΠ±Π΅ΡΠ°Π΅Ρ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Xbox One, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ 4Π Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠΎΠ²Π°Ρ ΠΆΠΈΠ·Π½Ρ Π΄Π»Ρ ΡΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ²
ΠΡΡΠ³ΠΎΠ΅ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ DirectX 12, Π·Π²ΡΡΠΈΡ ΡΠ°ΠΊ: ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ. Microsoft Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎ Windows 10 (ΠΈ DirectX ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ) ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Π°Ρ (Ρ.Π΅. ΠΈΠ³ΡΠΎΠ²Π°Ρ) ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡΡ ΠΏΠΎΡΡΠΈ Π² Π΄Π²Π° ΡΠ°Π·Π°. Π ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ PCWord ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΡΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»ΡΡΠ΅.
ΠΠ° ΡΡΠ΅Ρ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°ΡΠΊΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π΅Π· Π·Π°ΠΌΠ΅Π½Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ²? ΠΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ β Π·Π° ΡΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, Π±ΡΠ΄Ρ ΡΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅, ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΈΠΌ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ΄ΡΠΎΠΌ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ β Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΡΡΡ ΡΡΡΡΡΠ°ΠΌΠΈ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅, ΠΊΠΎΠ³Π΄Π° Intel Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»Π° Β«Π²ΠΎΠΉΠ½Ρ Π·Π° ΠΌΠ΅Π³Π°Π³Π΅ΡΡΡΒ» ΠΈ ΠΏΡΠΈΠ½ΡΠ»Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, Ρ.Π΅. ΠΏΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ/ΡΠ°ΡΡΠ΅ΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΌΠΈ ΡΠ΄ΡΠ°ΠΌΠΈ, ΡΠΎΠ³Π΄Π°ΡΠ½Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π½Π΅ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊ ΡΠ°ΠΊΠΎΠΌΡ Π³ΠΈΠ³Π°Π½ΡΡΠΊΠΎΠΌΡ ΡΠΊΠ°ΡΠΊΡ Π²ΠΏΠ΅ΡΠ΅Π΄.
ΠΠΈ ΠΌΠ°ΡΡΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΠΈΡΠ°ΠΉ Windows), Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, Π½Π΅ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΡ Π½Π°Π»ΠΈΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ°.
ΠΠΎΡΡΠΎΠΌΡ Π·Π°ΠΌΠ΅Π½Π° ΠΎΠ΄Π½ΠΎΡΠ΄Π΅ΡΠ½ΠΎΠ³ΠΎ Π½Π° Π΄Π²ΡΡ - ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΠ΅Ρ ΡΡΠ΄Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ ΡΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ Π½Π΅ ΡΠ°ΠΊ Π΄ΡΠ°ΠΌΠ°ΡΠΈΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ.
ΠΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π·Π°Π΄Π°Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ DirectX 12 ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ°ΠΊΠΈ ΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΈΠ³ΡΠ°ΠΌ ΠΏΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ΄ΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ Π½Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΡ Π½Π° ΠΏΠΎΠ»Π½ΡΡ ΠΌΠΎΡΠ½ΠΎΡΡΡ. ΠΡΡΠ΅ΠΊΡ ΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΡΠ³ΠΊΠΎ Π³ΠΎΠ²ΠΎΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΠ΅Ρ β ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠ΅ 3D Mark ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ 10-15-ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΎΡ DirectX 11 ΠΊ DirectX 12!
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠ΅. Π‘ΠΎΡΡΠ²Π΅ΡΠ½ΡΠΉ Π³ΠΈΠ³Π°Π½Ρ ΠΎΠ±Π΅ΡΠ°Π΅Ρ ΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠΎΡΠ½ΡΡ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π½ΠΎ ΠΈ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π°Π±ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΈ ΠΏΠ»Π°Π½ΡΠ΅ΡΡ Ρ Windows.
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΠΎ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΡΠ΄Π΅ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠ΅Π²ΡΠ°ΡΡΡΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠΌΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΌΡ PC, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Windows 10 ΠΈ DirectX 12 ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ°Ρ Π±ΠΎΠ»Π΅Π΅ Π³Π»Π°Π΄ΠΊΡΡ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ.
ΠΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ β ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π°ΡΡΠΌΠ΅Π²ΡΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π°Π·Π°Π΄ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Virtu ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Lucid.
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ β DirectX 12 ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡ Windows Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ 4Π, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡΡ Π² ΠΌΠΈΡΠ΅ ΠΠ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ.