Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ api
API β Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
API β Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
API Direct 3D. API OpenGL. API Microsoft DirectX.
API Direct 3D. Direct 3D ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ API, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ DirectX. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π₯ WinΒdows ΠΈ OpenGL. ΠΡΠΎΡ API ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Direct 3D ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ°: RM (Retained mode) β Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΈ IM (Immediale) β Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΉ. IM ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΎΠ½ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΠΎΠΉ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΡΠΎΠΊΠΎΠ΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. RM ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ 3D-ΠΈΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ IM. Π Windows Vista ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Direct3D ΠΈ DirectDraw, ΠΊΠ°ΠΊ Π² Windows XP, Π½Π°ΡΠΈΠ½Π°Ρ Ρ DirectX 3 (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ° Retained Mode Π² Direct3D). Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ 64-Π±ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows XP Professional x64 Edition, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄ Windows Vista ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Direct3D9, DirectDraw7 ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ DirectX ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΒΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡ Π΅ΠΌΠΎΠΉ:
(ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅) > (Direc+X) > (ΠΡΠΎΠ³ΡΠ°ΠΌΒΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅).
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ DirectX ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. DirectX ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· «ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ» ΡΠ»ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π²ΡΠΊΠΎΠ²ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΒΠ²Π°ΠΌ, ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΈ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ, ΡΡΡΒΡΠΎΠΉΡΡΠ²Π°ΠΌ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ DirectX ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»ΠΎΠΉ Media, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· API.
Π‘Π»ΠΎΠΉ Media DirectX ΠΏΡΠ΅ΒΠ΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΒΡΠΈΠΊΠΎΠ² ΠΈΠ³Ρ, Web ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΌΠ΅Π΄ΠΈΠ°-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π‘Π°ΠΌΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ DirectX Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ Web-ΡΠ·Π»Π° ΡΠΈΡΠΌΡ MiΒcrosoft. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, DirectX ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΠΊΠ°ΠΊ Internet Explorer, WinΒdows 2000. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΒΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ DirectX. ΠΠ΅ΡΠ΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠ΅ΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΒΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΡΠ°ΡΠ΅Π»Π°, ΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΒΠΆΠ΅Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ DirectX ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ, Ρ.Π΅. ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ . ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° DirectX.
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Π³ΡΠ°ΡΠΎΠ²ΡΠΌΠΈ API
ΠΡΠΈΠ²Π΅Ρ, Π₯Π°Π±Ρ! ΠΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΡΡΠ΅ΡΠΈΠ»ΠΈ Π² ΠΏΠΎΡΡΡΠ΅Π»Π΅ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π° Β«ManningΒ» Π²ΠΎΡ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΎΠ±Π·ΠΎΡΠ½ΡΡ ΡΡΠ°ΡΡΡ ΠΎΠ± ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΎΠ²ΡΡ Graph API ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π΅ΡΠ΅ ΡΠ°Π· Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠ²Ρ Π±ΡΠ΄ΡΡ Π½ΠΎΠ²ΡΠ΅ API ΠΏΠΎΡΠ»Π΅ Π±Π΅Π·ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ REST.
ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
ΠΡΠ»ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 10 Π»Π΅Ρ Π²Π°ΠΌ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ API β Π³ΠΎΡΠΎΠ² ΠΏΠΎΡΠΏΠΎΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ» REST API. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π²ΠΎΠΊΡΡΠ³ ΡΠ΅ΡΡΡΡΠΎΠ², Π² ΠΎΡΠΊΠ»ΠΈΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈΡΡ id, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ Π½Π° ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ HTTP-ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΎΠΎΠ±ΡΠ°Π»ΠΎΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡΠΏΠΈΡΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ: ΠΏΡΠΎΡΠΈΡΠ°ΡΡ, Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ (Π΄Π°, ΡΠΎΠ³Π»Π°ΡΠ΅Π½, ΡΡΠΎ Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π° Π½Π΅ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΉ REST Π ΠΎΡ Π€ΠΈΠ»Π΄ΠΈΠ½Π³Π°). ΠΠ΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ API Π² ΡΡΠΈΠ»Π΅ REST Π±ΡΠ»ΠΈ Π΄ΠΎΠΌΠΈΠ½ΠΈΡΡΡΡΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π² Π½Π°ΡΠ΅ΠΉ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ, Ρ REST Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΡΠΊΠ½ΡΡΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Ρ ΡΠ΅Π»ΡΠΉ ΡΠ΅ΡΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π΅ΠΌΡ Π½ΡΠΆΠ½Ρ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½-Π΄Π²Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΈΠ±ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΡ Π²ΡΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ β ΡΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Β«Π½Π΅Π΄ΠΎΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅Β» Π΄Π°Π½Π½ΡΡ . Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² REST API ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»Π° Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ API ΠΈΠ»ΠΈ ΡΡ Π΅ΠΌΠ°ΠΌ ΠΎΡΠΊΠ»ΠΈΠΊΠΎΠ².
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ Π²ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½Π΅Π΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ API, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Β«Π³ΡΠ°ΡΠΎΠ²ΡΠΌΠΈΒ».
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Graph API?
Π Π³ΡΠ°ΡΠΎΠ²ΠΎΠΌ API ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠΎΡΠΌΡΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ·ΠΎΠ² ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎ Π²ΡΠ΅Ρ
ΡΡΠ΅Ρ
ΡΠ΅ΡΡΡΡΠΎΠ² Π²ΡΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π·Π°Ρ
ΠΎΠ΄. ΠΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΡ
Π΅ΠΌΠΎΠΉ ΠΎΡΠΊΠ»ΠΈΠΊΠ°.
Π§ΡΠΎΠ±Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ ΡΡΠΎΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ°ΡΡ ΠΊΠ΅ΠΉΡΠΎΠ² Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΆΠΈΠ²ΡΡ
Π½Π΅Π²ΡΠ΄ΡΠΌΠ°Π½Π½ΡΡ
API.
ΠΠ΅ΠΉΡ 1: ΠΡΠ°ΡΠΎΠ²ΡΠΉ API Facebook
Facebook Π²ΡΠΏΡΡΡΠΈΠ» Π²Π΅ΡΡΠΈΡ 1.0 ΡΠ²ΠΎΠ΅Π³ΠΎ API Π² 2010 Π³ΠΎΠ΄Ρ ΠΈ Ρ ΡΠ΅Ρ ΠΏΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π³ΡΠ°ΡΠΎΠ²ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ·Π»Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΠ°ΠΌ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π±ΡΠ°, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠ΅ ΠΈΡ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Β«ΠΎΡΠ½ΠΎΡΠΈΡΡΡΒ» ΠΊ ΡΡΠΎΠΌΡ ΠΏΠΎΡΡΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠΌΠΎΡΡΡ, ΡΠ΅ΠΌ Ρ ΡΠΈΠΏΠΈΡΠ½ΠΎΠ³ΠΎ REST API, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ Π½ΠΈΠΌ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°ΠΏΡΠΎΡΠ° GET Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΡΡ ΠΈΠ· ΠΊΠΎΡΠ½Ρ API, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ID ΠΏΠΎΡΡΠ°.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°. ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ Π»ΠΈΡΡ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΏΠΎΡΡΠ° β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ β ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈ ΠΏΠΎΠ»Ρ, ΡΠΊΠ°Π·Π°Π² Π΄Π°Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ°:
Π§ΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅Π±ΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΏΠΎΡΡΡ:
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ Π²ΡΠ΅ ΡΡΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ REST API. ΠΠΎΠΆΠ°Π»ΡΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ β Π² Π½ΠΎΠ²ΠΈΠ½ΠΊΡ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΡΡΡ. Π‘ΠΈΡΡΠ°ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ. ΠΠΎΡ ΠΊΠ°ΠΊ Π΅ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΏΠΎΡΡΡ:
ΠΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠΊΠ»ΠΈΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ°, Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² (ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ id ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅). Π REST Π²Ρ Π±Ρ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ ΡΠΌΠΎΠ³Π»ΠΈ. ΠΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π±Ρ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΡΡ, Π° Π·Π°ΡΠ΅ΠΌ β ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ?
Π ΡΡΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΏΠΎΡΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, id ΠΈ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΎΡΡ Π±Ρ Π² REST. ΠΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π±Ρ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΡΡ, Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π² ΡΠ΅ΡΠΈΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. Π‘ΡΠ°Π·Ρ Π½Π°Π±ΠΈΡΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ HTTP-Π²ΡΠ·ΠΎΠ²ΠΎΠ²! ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠ° Π²ΡΡ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠΈΡΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, ΠΈ Π² ΡΡΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΠΈΡΡ ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠΎ Π½ΡΠΆΠ½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΎ Π³ΡΠ°ΡΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ: Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠΉ Ρ ΡΠ΅Π±ΡΠ°, ΡΠ°ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·Π»ΠΎΠΌ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ URL Π²ΠΈΠ΄Π° /posts/
ΠΠ΅ΠΉΡ 2: GitHub V4 GraphQL API
ΠΡΡΠ³ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠΌ Π³ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ API ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ GraphQL. ΠΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ REST, Π·Π΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ°, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ Π·Π°ΠΏΡΠΎΡΡ GET ΠΈ POST. ΠΡΠΈ Π²ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΡ Ρ API ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ GraphQL.
Π ΠΌΠ°Π΅ 2017 Π³ΠΎΠ΄Π° GitHub Π²ΡΠΏΡΡΡΠΈΠ» 4-Ρ Π²Π΅ΡΡΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ API, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠ² ΠΈΠ· ΡΠ΅Π±Ρ GraphQL, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ.
Π§ΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ GraphQL:
Π Π΄Π°Π½Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ID ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ βtransformerβ Ρ ΡΠ΅ΡΡΡΡΠ° Zapier org. ΠΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΌΡ ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Ρ API ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ POST, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΡΠ»Π°Π΅ΠΌ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠ΅Π»ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΌΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ GraphQL. Π-ΡΡΠ΅ΡΡΠΈΡ , ΡΡΡΡΠΊΡΡΡΠ° Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊΠ°Ρ ΡΠΊΠ°Π·Π°Π½Π° Π² Π½Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅, <"data": <"repository": <"id": "MDEwOlJlcG9zaXRvcnk1MDEzODA0MQ==", "description": ". ">>> (ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠ»ΡΡ data β Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΎΡΠΊΠ»ΠΈΠΊΠ°Ρ GraphQL).
Π§ΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΈΡ Π°Π²ΡΠΎΡΠΎΠ², ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π²ΡΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ID ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ 20 Π·Π°Π΄Π°Ρ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π»ΠΎΠ³ΠΈΠ½ (ΠΈΠΌΡ) Π°Π²ΡΠΎΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π’ΠΎ Π΅ΡΡΡ, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄Π΅Π» Π±Ρ REST-ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° β ΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ GraphQL Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ.
ΠΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ GraphQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠΌΡΡΠ°ΡΠΈΡΒ». Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ REST, Π³Π΄Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ PUT ΠΈΠ»ΠΈ POST ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠ΅ΡΡΡΡΠ° Π½Π° ΡΡ ΠΆΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΅Π΅ ΠΈΠ·Π²Π»Π΅ΠΊ, ΠΌΡΡΠ°ΡΠΈΡ GraphQL β ΡΡΠΎ ΡΠ²Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ API. ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. Π£Π΄ΠΎΠ±Π½ΠΎ, ΡΡΠΎ GraphQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΈΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ ΡΡ Π΅ΠΌΡΒ».
ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ GraphQL Π² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠΌΠ΅Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΡΡ ΡΡ Π΅ΠΌΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ GraphQL. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ·Π½Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ API ΠΏΡΡΠ΅ΠΌ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠΈ.
ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π² GitHub, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΠΎΡΠΈΡΡ:
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΈ ΠΊΠ΅ΠΉΡΡ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ API Π² SaaS-ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. Π― Π½Π΅ ΠΏΡΡΠ°ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π·Π° Π³ΡΠ°ΡΠΎΠ²ΡΠΌΠΈ API Π±ΡΠ΄ΡΡΠ΅Π΅, Π° REST ΠΌΠ΅ΡΡΠ². Π ΡΠ°ΠΊΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ ΠΊΠ°ΠΊ GraphQL Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎ Ρ ΠΎΡΠΎΡΠΎ, ΡΡΠΎ ΠΊΡΡΠ³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΈΡΠΈΡΡΡ, ΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ API, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·Π²Π΅ΡΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ΄ΡΠΈ ΠΏΡΠΈ ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
Vulkan. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ
Π― ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠΎΠΌ ΠΈΠΆΠ΅Π²ΡΠΊΠΎΠΉ IT-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ CG Tribe, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»Π° ΠΌΠ½Π΅ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ².
ΠΠ΄Π΅ΡΡ Ρ Π±ΡΠ΄Ρ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΊ Vulkan API. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊ β vulkan-tutorial.com. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π₯Π°Π±ΡΠ° β kiwhy, ΠΌΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΠΎΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π ΡΠ²ΠΎΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡ Ρ Π±ΡΠ΄Ρ Π΄Π°Π²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π³Π»Π°Π²Ρ, ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ kiwhy.
9. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
10. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠΏ-ΠΊΠ°ΡΡ
FAQ
ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ
1. ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
2. ΠΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ
ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Vulkan
ΠΠ°ΠΊ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ API, Vulkan Π·Π°Π΄ΡΠΌΠ°Π½ ΠΊΠ°ΠΊ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π½Π°Π΄ GPU. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ°ΠΊΠΈΡ
API Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π²Π΅ΡΡΠΈΠ½Π°Ρ
Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈ Π² ΠΏΠ»Π°Π½Π΅ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅Π½Π΅ΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π²ΠΈΡΠ΅Π»ΠΈ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ².
ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ Π² Π½Π΅ΠΉ ΡΡΠ°Π»ΠΎ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ API. ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ Π½Π΅ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡΠΌ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ Π³ΠΈΠΏΠΎΡΠ΅Π· ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΠΎΠΏΠ»ΠΎΡΠΈΡΡ Π·Π°ΠΌΡΡΠ΅Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ . ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΠΈΠ³ΡΠ°Ρ Π²ΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ². ΠΠ·-Π·Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅, ΠΏΡΠΈΠ½ΡΡΠΎΠΌ Π΄Π»Ρ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ². ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π»ΡΡ ΠΏΡΠΈΡΠΎΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΌΠΎΡΠ½ΡΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΡΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ GPU ΠΌΠΎΠ³ΡΡ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌ ΠΈ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π° ΡΡΠ΅Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ. ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ Π²ΠΎΠ·ΡΠ°ΡΡΠΎΠΌ API, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ·ΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π¦Π.
Vulkan ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΅ΡΠΈΡΡ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ. ΠΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΠΎΡΠ΅ΡΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π·Π° ΡΡΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ API. Vulkan ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΎΡΡΡΠ»Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°Ρ . Π’Π°ΠΊΠΆΠ΅ ΡΠ½ΠΈΠΆΠ°ΡΡΡΡ ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² Π·Π° ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π±Π°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, Vulkan ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π³Π»Π°Π²Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ API.
ΠΠ°ΠΊ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ?
ΠΡ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π³ΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π΄Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π³Π»Π°Π²Π°Ρ
.
Π¨Π°Π³ 1 β ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ (instance) ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
Π Π°Π±ΠΎΡΠ° Ρ Vulkan Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Vulkan API ΡΠ΅ΡΠ΅Π· VkInstance (ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ). ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π²ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Vulkan, ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ VkPhysicalDevices Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ VRAM ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ.
Π¨Π°Π³ 2 β ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ hardware ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ VkDevice (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ), Π³Π΄Π΅ Π²Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ΅ΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ (VkPhysicalDeviceFeatures) Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ viewport-ΠΎΠ² (multi viewport rendering) ΠΈ 64-Π±ΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ. ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π²Ρ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΠΌΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Vulkan, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π² VkQueue. ΠΡΠ΅ΡΠ΅Π΄ΠΈ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΈΠ· ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Vulkan Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²ΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Vulkan, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌΠΈ.
Π¨Π°Π³ 3 β Window surface ΠΈ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π° (swap chain)
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½Π΅ΡΠΊΡΠ°Π½Π½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΠ΅Π½Π΄Π΅ΡΠ΅Π½Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠΊΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ GLFW ΠΈ SDL. Π ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ GLFW, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅.
Π¦Π΅ΠΏΠΎΡΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π° β ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ΅Π»Π΅ΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°. ΠΠ΅ Π·Π°Π΄Π°ΡΠ° β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΎΡΠ»ΠΈΡΠ°Π»ΠΎΡΡ ΠΎΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π΄Ρ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΏΠΎΡΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»Π° Π½Π°ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠ°Π΄Ρ ΡΠΎΠ·Π΄Π°Π½, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΏΠΎΠΊΠ°Π·Π°, ΡΡΠΎΠ±Ρ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π»Π΅ΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. Π‘ΡΠ΅Π΄ΠΈ ΡΠ°ΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π΄Π²ΠΎΠΉΠ½ΡΡ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ (vsync) ΠΈ ΡΡΠΎΠΉΠ½ΡΡ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ Π² Π³Π»Π°Π²Π΅, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ΅ΡΠ΅Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ VK_KHR_display ΠΈ VK_KHR_display_swapchain Π±Π΅Π· Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΎΠΊΠΎΠ½. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ surface, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΎΠΊΠΎΠ½.
Π¨Π°Π³ 4 β Image views ΠΈ ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅ΡΡ
Π§ΡΠΎΠ±Ρ ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (image), ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ· ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π΅ΡΠ½ΡΡΡ Π΅Π³ΠΎ Π² VkImageView ΠΈ VkFramebuffer. Image view ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π° ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° image views, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ Π±ΡΡΠ΅ΡΡ ΡΠ²Π΅ΡΠ°, Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (stencil). ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΌΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ image view ΠΈ ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΈ Π²ΡΠ±Π΅ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π¨Π°Π³ 5 β ΠΡΠΎΡ ΠΎΠ΄Ρ ΡΠ΅Π½Π΄Π΅ΡΠ°
ΠΡΠΎΡ ΠΎΠ΄Ρ ΡΠ΅Π½Π΄Π΅ΡΠ° Π² Vulkan ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΈΠΏ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°, ΡΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΠΈ ΡΠΎ, ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠ΅ΡΠ΅Π΄ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΌΡ ΡΠΎΠΎΠ±ΡΠΈΠΌ Vulkan, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΡΡΠ΅ΡΠ° ΡΠ²Π΅ΡΠ° ΠΈ ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ ΡΠ΅Π½Π΄Π΅ΡΠ° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΡΡΠ΅ΡΠΎΠ², ΡΠΎ VkFramebuffer ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ»ΠΎΡΠ°ΠΌΠΈ.
Π¨Π°Π³ 6 β ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ (pipeline)
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π² Vulkan Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° VkPipeline. ΠΠ½ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ viewport ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π±ΡΡΠ΅ΡΠ° Π³Π»ΡΠ±ΠΈΠ½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ VkShaderModule. ΠΠ±ΡΠ΅ΠΊΡΡ VkShaderModule ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈΠ· Π±Π°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠ°. ΠΡΠ°ΠΉΠ²Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Π»ΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ΅. ΠΡ Π·Π°Π΄Π°Π΅ΠΌ ΠΈΡ , ΡΡΡΠ»Π°ΡΡΡ Π½Π° ΠΏΡΠΎΡ ΠΎΠ΄ ΡΠ΅Π½Π΄Π΅ΡΠ°.
ΠΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Vulkan ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΠΉΠ΄Π΅Ρ ΠΈΠ»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ vertex layout, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² VkPipeline Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°. Π’ΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ viewport ΠΈ ΡΠ²Π΅Ρ ΠΎΡΠΈΡΡΠΊΠΈ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠ²Π½ΠΎ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ² (color blend state) ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π ΡΡΠ°ΡΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Β«Π½Π° Π»Π΅ΡΡΒ», Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ²Π½ΠΎ.
Π¨Π°Π³ 7 β ΠΡΠ» ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π±ΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Vulkan, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² VkCommandBuffer. ΠΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π΅ΡΡΡΡΡ ΠΈΠ· VkCommandPool, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²ΡΠ·Π°Π½ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. Π§ΡΠΎΠ±Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π±ΡΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ:
Π¨Π°Π³ 8 β ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ»
ΠΡΠΎΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΎΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. Π ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΆΠ΅ ΡΠ°Π³ΠΎΠ² Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅. Π‘ΡΠ΅Π΄ΠΈ Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠΎΠ² Π²Π΅ΡΡΠΈΠ½, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ uniform-Π±ΡΡΠ΅ΡΠΎΠ² ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅ΠΊΡΡΡΡ β Π²ΡΠ΅ ΡΡΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ , Π° ΠΏΠΎΠΊΠ° Π½Π°ΡΠ½Π΅ΠΌ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ. Π§Π΅ΠΌ Π΄Π°Π»ΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ, ΡΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π». ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠΉΡΠΈ Ρ ΠΈΡΡΡΠΌ ΠΏΡΡΠ΅ΠΌ, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ Π² Π²Π΅ΡΡΠΈΠ½Π½ΡΠΉ ΡΠ΅ΠΉΠ΄Π΅Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠ½. Π’Π°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°ΠΌΠΈ Π²Π΅ΡΡΠΈΠ½ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Π±ΡΡΠ΅ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΈΡΠΎΠ³. ΠΠ»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
ΠΠΎΠ½ΡΠ΅ΠΏΡΡ API
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΡΡΡΡΡ Vulkan API Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
Π‘ΡΠ°Π½Π΄Π°ΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°
ΠΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ, Vulkan Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ Π½ΠΈΠ·ΠΊΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠ°Ρ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ, Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π°ΡΡ ΡΠ±ΠΎΠΉ ΠΈΠ»ΠΈ Π΅ΡΠ΅ Ρ ΡΠΆΠ΅, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²Π°ΡΠ΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ΅, Π½ΠΎ Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΡΡΠΎΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°Ρ .
ΠΠΎΡΡΠΎΠΌΡ Vulkan ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ. Π‘Π»ΠΎΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ β ΡΡΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ API ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠΌ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΡΡΠ°Ρ. ΠΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ»ΠΎΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ, Π½ΠΎ Vulkan SDK ΠΎΡ LunarG ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅. ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΎΡ ΡΠ»ΠΎΠ΅Π².
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Vulkan ΡΠ°ΡΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΠΈ ΡΠ»ΠΎΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠΈΡΠ½ΡΠ΅, Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ OpenGL ΠΈ Direct3D.
ΠΡΡΠ°Π»ΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΈ ΡΡΠΎ β Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Vulkan ΠΈ DirectX ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³ΡΡ
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½Π°Ρ, Π³Π΅ΠΉΠΌΠ΅ΡΠΎΠ², ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ Microsoft DirectX. ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½Π°Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π΅Π³ΠΎ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³ΡΡ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ° Π² ΡΠΎΡΠΌΠ΅ Vulkan, Π²Π΅ΡΠΈ ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π΄Π²ΡΠΌ API, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API, Vulkan ΠΈ DirectX, ΠΈ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° Π½Π°ΡΠΈ ΠΈΠ³ΡΡ.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ API
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ DirectX ΠΈ Vulkan, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ API. ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ».
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Windows, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ³ΡΠ°Π΅Ρ ΡΠΎΠ»Ρ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ΅Π΄Ρ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΡΡΠ΅Π΄Ρ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (API) Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»Ρ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠ°. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΠ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ, ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ API, β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π΅ ΠΈΠ»ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π°ΡΠΈ ΡΠ°Π½Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· Facebook ΠΈΠ»ΠΈ Google (Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π²ΡΡΡΠ½ΡΡ).
Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ API, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ»ΡΠ³ΠΎΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Facebook ΠΈΠ»ΠΈ Twitter), ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π½Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (ΠΈΠΌΡ (ΠΈΠΌΠ΅Π½Π°), Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° ΠΈ Ρ. Π΄.) ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ API Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΊ Π½Π°ΡΠ΅ΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠ°ΡΡΠ΅ (Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°ΠΌ).
DirectX ΠΈ Vulkan ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΡΡΡΠ°ΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (ΠΈΠ³ΡΠΎΠΉ) ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π³ΡΠ°ΡΠΈΠΊΠΈ.
Π‘ Π²ΡΠΏΡΡΠΊΠΎΠΌ Windows 95 ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΊΠ°ΠΊ Π² MS-DOS. DirectX Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ API Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠ³ΡΡ.
Π’Π΅ΡΠΌΠΈΠ½ Β«DirectXΒ» Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π° Β«DirectΒ», ΡΡΡΠ»Π°ΡΡΡ Π½Π° ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Direct3D Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ DirectSound Π΄Π»Ρ Π°ΡΠ΄ΠΈΠΎ. Π§Π°ΡΡΡ Β«Π₯Β» ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ API Π² ΠΎΠ±ΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ; ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ² Π²ΡΠ΅ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ DirectX. ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π²Π΄ΠΎΡ Π½ΠΎΠ²ΠΈΠ»ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Xbox.
ΠΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΠ΅ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ DirectX ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ Microsoft. ΠΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ, DirectX 12, ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Windows 10 ΠΈ Π½ΠΎΠ²Π΅ΠΉΡΠ΅ΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Xbox One.
Direct3D ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΆΠ΅ΠΌΡΡΠΆΠΈΠ½ΠΎΠΉ DirectX ΠΈ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ 3D-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠΊΡΠ°Π½Π΅. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΠ³ΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΠΈ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎ Π·Π° ΡΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠ° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°.
ΠΡΠ»ΠΊΠ°Π½ AMD
Π 2015 Π³ΠΎΠ΄Ρ Kronos Group ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ API. Vulkan β ΡΡΠΎ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ API, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ³ΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄Π΅Π±ΡΡΠΈΡΠΎΠ²Π°Π»Π° Π² Π°Π²Π³ΡΡΡΠ΅ 2016 Π³ΠΎΠ΄Π°.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠ΅ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Β«Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½ΡΒ» Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΡΠ»ΠΊΠ°Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
Π₯ΡΠΎΠ½ΠΎΡ ΠΎΠΊΡΡΠΆΠ°Π΅Ρ ΡΠ΅Π±Ρ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· ΡΠ°ΠΌΡΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠΌΠ΅Π½ Π² ΠΠ’-ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ β Google, Intel, Sony, Nvidia ΠΈ AMD. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° Π΄Π°Π»ΠΈ API, ΡΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Vulkan.
OpenGL β ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ API ΡΡΠ΅Π΄ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ². Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ½ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π₯ΡΠΎΠ½ΠΎΡΠΎΠΌ, ΠΈ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΡΠ»ΠΊΠ°Π½Π°. ΠΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ ΠΏΡΠΈΠ΅ΠΌ ΠΈΠ³ΡΠΎΠ²ΡΠΌΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Π±ΡΠ» Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΠΌ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠΈΠ»ΡΠ½ΡΡ Π°ΠΊΡΠΈΠ²ΠΎΠ² Vulkan ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΎΠ½ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Vulkan Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ β ΡΡΠΎ Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π°ΠΊΡΠΈΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ±ΡΠ»ΡΠ½ΡΠΌ, ΡΠ΅ΠΌ DirectX.
ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Khronos. ΠΠ°Π½ΡΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π±Π°Π·Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΡΠ»ΠΊΠ°Π½. ΠΠ°ΠΊΠΎΠ½Π΅Ρ Vulkan Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² Π²Π΅ΡΡΠΈΠΈ 1.1.
ΠΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΈΠ³ΡΡ
ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ API, Microsoft ΠΈ Khronos. ΠΠΎ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΈΠ³ΡΡ?
ΠΡΠΈ Π΄Π²Π° API Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ DirectX, ΠΏΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π» Π»ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΠ΅ΠΌ Vulcan, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ½ Π½Π΅ ΡΠ°ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ ΠΏΠΎΠ·Π°Π΄ΠΈ.
Microsoft ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ DirectX 12 ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° 50% ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ DirectX 11. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Vulkan ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π»ΡΡΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊ. ΠΠΎΠ²ΠΎΡΡ ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠ°Ρ , DirectX 11 ΠΈ OpenGL Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΎΠ΄Π½ΠΎΡΠ΄Π΅ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ²; ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΡΠΎΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΡΡ , ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ².
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ΄ΡΠΎ ββΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Π²ΠΎΠ²ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ. ΠΠ±Π° API (DirectX 12 ΠΈ Vulkan) ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΄ΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π·Π°Π΄Π°Ρ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠ°ΡΡΠ΅ (Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°ΠΌ), ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠΏΡΡ.
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π±ΡΠ΄ΡΡΠΈΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΠ. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠ°ΡΡΡ Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π²Π°ΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΈΠ³Ρ. Π‘ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΈΠ³ΡΠΎΠ²ΡΡ API ΠΌΠ°Π»ΠΎΠ²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ Π΅ΡΠ΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ Π½Π΅Π³ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π°ΠΆΠ΅ Ρ ΠΏΡΠΎΡΡΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΡΠ·ΠΊΠΈΡ ΠΌΠ΅ΡΡ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°ΡΡ
ΠΠ΄Π΅ΡΡ Khronos Group ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ°Π·ΡΡΠ²ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°ΡΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠ°Π½Π°Π»ΡΠ½ΠΎΠ³ΠΎ GPU). ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠ°ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΡ ΡΠΈΠΏΡ ΠΈΠΌΠ΅ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΊΠ°ΡΡΠ°ΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΡΡ ΡΠ°ΡΡΡ ΡΠΊΡΠ°Π½Π°.
Microsoft Π·Π΄Π΅ΡΡ Π΅ΡΠ΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³ Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°ΡΡ Π΄Π°ΠΆΠ΅ Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ, ΡΡΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ SLI ΠΈ Crossfire ΠΎΡ Nvidia ΠΈ AMD, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΠΈ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠ»ΡΡΠ°Π΅ SLI ΡΡΠ΅Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠ°ΡΡΡ.
Π¨Π΅ΠΉΠ΄Π΅ΡΡ
Π¨Π΅ΠΉΠ΄Π΅ΡΡ β ΡΡΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π° Π½Π°ΡΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°Ρ . ΠΠ½ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² 3D-ΡΡΠ΅Π΄Π΅. Π’Π΅Π½ΠΈ, ΡΡΠΌΠ°Π½ ΠΈ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΈΠ³ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ΅ΠΉΠ΄Π΅ΡΠ°.
Vulkan ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ SPIR-V. ΠΠ³ΠΎ Π΄Π²ΠΎΠΈΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ DirectX DX.
SPIR-V Π²Π΅ΡΡΠΈΡ 1.3 ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ SPIR-V opt, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ². ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ + 40% ΠΎΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° DX ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ DirectX.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π² HLSL (Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΡΠ΅ΠΉΠ΄Π΅ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ), ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Microsoft, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°ΠΌΠΈ.
HLSL ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ DirectX Ρ Π²Π΅ΡΡΠΈΠΈ 9. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ·ΡΠΊΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ². Π‘ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ SPIR-V Vulkan ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΅Π΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ², ΠΈ ΠΈΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ»Π΅ΡΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΠ³ΡΡ Π±ΡΠ΄ΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π° Π΄ΡΡΠ³ΡΡ.
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Vulkan Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Windows, Linux, Mac OS, Android ΠΈ iOS. DirectX 12 Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Windows 10 ΠΈ Xbox One. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠ΅ DirectX 12, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎ Windows 10, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ DirectX 12, ΠΈ Π²Π°ΠΌ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Windows 10 Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π½Π°ΡΠΈΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ:
ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ΅ΠΌΠ΅, ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ API Vulkan, Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΡΡΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ DirectX.
Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π½Π°ΡΠΈ ΠΈΠ³ΡΡ. ΠΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎΡΠ΅ΠΌΡ Linux Π½Π΅ ΡΠ°ΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½, ΠΊΠ°ΠΊ Windows, ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΠ³Ρ.
Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Linux ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΡΡΠΈΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠΈΡ ΠΈΠ³Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Steam OS β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΈΠ³Ρ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅: ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π΄ΡΠΌΠ°Π΅Ρ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ ΠΈ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ API. ΠΡΠΎ Π±Ρ Π²Ρ Π²ΡΠ±ΡΠ°Π»ΠΈ?
ΠΠ±Π° ΠΈΠΌΠ΅ΡΡ ΡΡ ΠΎΠΆΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΠ±Π° Π»ΡΡΡΠΈΠ΅, ΡΠ΅ΠΌ ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠΈ, ΠΈ ΠΎΠ±Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ. Vulkan ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Windows 10 ΠΈ Xbox One, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ DirectX ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅.
ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Vulkan ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ VR Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ 3D-ΡΡΠ΅Π½Ρ Ρ Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠ΅ΠΊ Π·ΡΠ΅Π½ΠΈΡ β ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π³Π»Π°Π·Π°.
ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π±ΡΠ»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡΠΏΡΠ°Π²ΠΈΠ² Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π½Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΊΠ°ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ. ΠΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ Π½Π°ΡΠ΅Π³ΠΎ Π²ΡΠΎΡΠΎΠ³ΠΎ Π³Π»Π°Π·Π°.
ΠΠ΅ΡΡΠΈΡ 1.1 Vulkan ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ , Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ² (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ), ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π΄Π°ΡΡ Π»ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ VR.
Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΠΈ Π±ΡΠ΄ΡΡΠ΅Π΅
ΠΡΠ»ΠΎ Π±Ρ ΡΠΏΡΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΆΠ΅ ΠΎ Ρ ΠΎΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π²ΡΡ API. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π΅ΡΠ΅ΡΠ°Π½ DirectX Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 20-Π»Π΅ΡΠ½ΠΈΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΡΠ»ΠΊΠ°Π½Ρ Π΅Π΄Π²Π° Π±ΡΠ΄Π΅Ρ 3 Π³ΠΎΠ΄Π° Ρ 2015 Π³ΠΎΠ΄Π°. Π’ΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Vulkan ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π΅Π³ΠΎ ΡΠ΅ΠΌΠΏΡ ΡΠΎΡΡΠ°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΈΠ³ΡΠΎΠΊΠΈ Khronos, ΠΏΠΎΡ ΠΎΠΆΠ΅ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ API, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎΠ²Π½ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡ.
ΠΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ, ΠΏΠΎΠΌΠΎΠ³Π°Ρ API ΡΠ°ΡΡΠΈ Π±ΡΡΡΡΠ΅Π΅. ΠΠ°ΠΊΠΎΠ½Π΅Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ, ΡΡΠΎ DirectX Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ²ΠΎΠΈ Π³ΠΎΠ΄Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ, ΠΎΠΊΠΎΠ»ΠΎ 40 ΠΈΠ³Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Vulkan, Π·Π°Π½ΠΈΠΌΠ°Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ β Quake, Roblox, Talos ΠΈ Dota 2. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Vulkan ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π΅ΡΡΡ ΠΊ DirectX, ΠΈ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ½ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ. Π‘Π°ΠΌΡΠ΅ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΡΠ»ΠΊΠ°Π½Π° β ΠΈΠ³ΡΠ° Doom.
Vulkan ΡΠ°ΡΡΠΈΡΠΈΠ» ΡΠ²ΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ AAA, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Wolfenstein II, Π½Π΅ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π°Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ VR, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Doom VFR ΠΈ Serious Sam VR. ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΈΠ³Ρ. Π₯ΠΎΡΡ Π·Π΄Π΅ΡΡ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΈΠ³ΡΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ DirectX 12.
ΠΠ±Π° API Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΡΡΠ΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°ΡΡ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π¦Π ΠΏΠΎΠ²ΡΡΠΈΡ ΠΎΠ±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎ ΡΠ»ΡΡ Π°ΠΌ, Π½ΠΎΠ²ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ ΠΎΡ Nvidia Π±ΡΠ΄ΡΡ Π²ΡΠΏΡΡΠ΅Π½Ρ ΠΊ ΠΊΠΎΠ½ΡΡ Π»Π΅ΡΠ° ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π²Π·ΠΎΠΉΠ΄ΡΡ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠ°ΡΡΡ. Π ΡΠ΅Π»ΠΎΠΌ, ΠΎΠ±ΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π΅ΡΠ΅ΠΉ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΌ. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ³Ρ ΡΠΊΠΎΡΠΎ Π±ΡΠ΄ΡΡ Ρ Π½Π°Ρ, ΠΈ ΠΎΠ±Π° API Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ Π±ΡΠ΄ΡΡ ΠΈΠ³ΡΠ°ΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ.
ΠΠ°ΠΊ Π²Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅ΡΡ ΠΊ Π΄Π²ΡΠΌ API?
ΠΡ ΡΠΆΠ΅ ΡΠ·Π½Π°Π»ΠΈ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π½Π° Vulkan ΠΈ DirectX? Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΡ ΡΠΎΠΏΠ΅ΡΠ½ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΈΠ»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ API Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΈΠ³ΡΡ? ΠΡ Ρ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Π΅ΠΌ Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².