แž‚แž˜แŸ’แžšแŸ„แž„แžŸแŸ’แžšแžถแž”แžถแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž– Vkd3d 1.5 แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž Direct3D 12

แž‚แž˜แŸ’แžšแŸ„แž„แžŸแŸ’แžšแžถแž”แžถแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž—แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž€แž‰แŸ’แž…แž”แŸ‹ vkd3d 1.5 แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž Direct3D 12 แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžแžถแž˜แžšแž™แŸˆแž€แžถแžšแž แŸ…แž‘แžผแžšแžŸแŸแž–แŸ’แž‘แž•แŸ’แžŸแžถแž™แž‘แŸ…แž€แžถแž“แŸ‹ Vulkan graphics API แŸ” แž€แž‰แŸ’แž…แž”แŸ‹แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž”แžŽแŸ’แžŽแžถแž›แŸแž™ libvkd3d แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž Direct3D 12, libvkd3d-shader แž‡แžถแž˜แžฝแž™แžขแŸ’แž“แž€แž”แž€แž”แŸ’แžšแŸ‚แž“แŸƒแž˜แŸ‰แžผแžŠแŸ‚แž› shader 4 แž“แžทแž„ 5 แž“แžทแž„ libvkd3d-utils แžŠแŸ‚แž›แž˜แžถแž“แž˜แžปแžแž„แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแž˜แŸ’แžšแžฝแž›แž€แžถแžšแž…แŸ’แžšแž€แž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธ Direct3D 12 แž€แŸแžŠแžผแž…แž‡แžถแžŸแŸ†แžŽแžปแŸ†แž“แŸƒแžงแž‘แžถแž แžšแžŽแŸแžŸแžถแž€แž›แŸ’แž”แž„ แžšแžฝแž˜แž‘แžถแŸ†แž„แž…แŸ’แžšแž€แž˜แžฝแž™แŸ” แž“แŸƒ glxgears แž‘แŸ… Direct3D 12. แž›แŸแžแž€แžผแžŠแž‚แž˜แŸ’แžšแŸ„แž„แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ‚แž€แž…แžถแž™แžŠแŸ‚แž›แž˜แžถแž“แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽแž€แŸ’แžšแŸ„แž˜ LGPLv2.1 แŸ”

แž”แžŽแŸ’แžŽแžถแž›แŸแž™ libvkd3d แž‚แžถแŸ†แž‘แŸ’แžšแž˜แžปแžแž„แžถแžš Direct3D 12 แž—แžถแž‚แž…แŸ’แžšแžพแž“ แžšแžฝแž˜แž‘แžถแŸ†แž„แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ แž“แžทแž„แž‚แŸ’แžšแžฟแž„แž”แžšแžทแž€แŸ’แžแžถแžšแž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžš แž‡แžฝแžš แž“แžทแž„แž”แž‰แŸ’แž‡แžธแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ แž…แŸ†แžŽแžปแž…แž‘แžถแž‰ แž“แžทแž„แž…แŸ†แžŽแžปแž…แž‘แžถแž‰ heap แž แžแŸ’แžแž›แŸแžแžถแž‡แžถ root แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแž€แŸ’แžšแŸ…แž€แžถแžšแž”แž‰แŸ’แž‡แžถแž‘แžทแž‰ แž‚แŸ†แžšแžผ แž แžแŸ’แžแž›แŸแžแžถแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ แžแŸแžšแžซแžŸ แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แžŠแŸ„แž™แž”แŸ’แžšแž™แŸ„แž› แžœแžทแž’แžธแžŸแžถแžŸแŸ’แžแŸ’แžšแž…แŸ’แž”แžถแžŸแŸ‹แž›แžถแžŸแŸ‹ *( ) แž“แžทแž„แž…แž˜แŸ’แž›แž„*()แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„ libvkd3d-shader แž€แžถแžšแž”แž€แž”แŸ’แžšแŸ‚ bytecode แž“แŸƒ shader model 4 แž“แžทแž„ 5 แž‘แŸ…แž‡แžถแžแŸ†แžŽแžถแž„ SPIR-V แž€แž˜แŸ’แžšแžทแžแž˜แž’แŸ’แž™แž˜แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแŸ” แž‚แžถแŸ†แž‘แŸ’แžš vertex, pixel, tessellation, compute and simple geometry shaders, root signature serialization and deserialization แŸ” แžŸแŸแž…แž€แŸ’แžแžธแžŽแŸ‚แž“แžถแŸ†แžšแž”แžŸแŸ‹ Shader แžšแžฝแž˜แž˜แžถแž“แž“แž–แŸ’แžœแž“แŸ’แž’ แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžขแžถแžแžผแž˜ แž“แžทแž„แž”แŸŠแžธแž แž€แžถแžšแž”แŸ’แžšแŸ€แž”แž’แŸ€แž” แž“แžทแž„แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž›แŸ†แž แžผแžšแž‘แžทแž“แŸ’แž“แž“แŸแž™ แž‚แŸ†แžšแžผ แž€แžถแžšแž”แŸ’แžšแž˜แžผแž›แž•แŸ’แžแžปแŸ† แž“แžทแž„แž•แŸ’แž‘แžปแž€แžŸแŸแž…แž€แŸ’แžแžธแžŽแŸ‚แž“แžถแŸ† แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž…แžผแž›แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž˜แžทแž“แž˜แžถแž“แž›แŸ†แžŠแžถแž”แŸ‹ (UAV, Unordered Access View)แŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ†แžŽแŸ‚แžแŸ’แž˜แžธแŸ–

  • แž€แžถแžšแž€แŸ‚แž›แž˜แŸ’แžขแž‡แžถแž…แŸ’แžšแžพแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžกแžพแž„แž…แŸ†แž–แŸ„แŸ‡ HLSL (High-Level Shader Language) แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ shader แžŠแŸ‚แž›แž”แžถแž“แž•แŸ’แžแž›แŸ‹แžแžถแŸ†แž„แž–แžธ DirectX 9.0 แŸ” แžšแžฝแž˜แž‘แžถแŸ†แž„แž€แžถแžšแž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แž“แžผแžœแž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแž—แŸแž‘แžœแžแŸ’แžแžป HLSL แžŠแžผแž…แž‡แžถ Texture2D แž“แŸ…แž€แŸ’แž“แžปแž„แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ แž“แžทแž„แžขแžถแžšแŸ แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž˜แžปแžแž„แžถแžšแžŠแŸ‚แž›แž—แŸ’แž‡แžถแž”แŸ‹แž˜แž€แž‡แžถแž˜แžฝแž™ dot(), ldexp() แž“แžทแž„ lerp(), แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžšแžกแžผแž‡แžธแžแž› "แž“แžทแž„" "แžฌ" แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸ†แžšแžผแžŸแŸ’แžšแž˜แŸ„แž› 4 แž“แžทแž„ 5 แž“แžทแž„ "แž˜แžทแž“" แž€แŸแžŠแžผแž…แž‡แžถแžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แŸ„แŸ‡แž”แŸ’แžšแž—แŸแž‘แž”แŸŠแžผแž›แžธแž“แŸ”
  • แž”แžถแž“โ€‹แžขแž“แžปแžœแžแŸ’แžโ€‹แž‡แž˜แŸ’แžšแžพแžŸ VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV แžŠแžพแž˜แŸ’แž”แžธโ€‹แž•แŸ’แž‘แžปแž€โ€‹แžแŸ†แžŽแžถแž„โ€‹แž€แžถแžšโ€‹แž…แžผแž›โ€‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšโ€‹แžŠแŸ‚แž›โ€‹แž˜แžทแž“โ€‹แž”แžถแž“โ€‹แž”แž‰แŸ’แž‡แžถแž‘แžทแž‰ (UAV) แžŸแž˜แŸ’แžšแžถแž”แŸ‹โ€‹แž‘แž˜แŸ’แžšแž„แŸ‹โ€‹แž–แž แžปแž•แŸ’แž“แŸ‚แž€ SPIR-V (DXGI_FORMAT)แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹