ืื ืืืืื ืคึผืจืืืขืงื ืืื ืืจืืืก ืื ืืขืืืื ื ืคืื ืื vkd3d 1.7 ืคึผืขืงื ืืื ืึท ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื Direct3D 12 ืืืึธืก ืึทืจืืขื ืืืจื ืืจืึธืืงืึทืกืืื ื ืจืืคื ืฆื ืื Vulkan graphics API. ืืขืจ ืคึผืขืงื ืืืื libvkd3d ืืืืืจืขืจืื ืืื ืืืคึผืืึทืืึทื ืฅ ืคืื Direct3D 12, libvkd3d-shader ืืื ืึท ืืืขืจืืขืฆืขืจ ืคืื ืฉืึทืืขืจ ืืึธืืขืืก 4 ืืื 5 ืืื libvkd3d-utils ืืื ืคืึทื ืืงืฉืึทื ื ืคึฟืึทืจ ืกืืืคึผืืึทืคืืืื ื ืื ืคึผืึธืจืืื ื ืคืื Direct3D 12 ืึทืคึผืืึทืงืืืฉืึทื ื, ืืื ืืขืืื ื ืืื ืึท ืืึทื ื ืคืื ืืขืืึธ ืืืืฉืคืืื, ืึทืจืืึทื ืืขืจืขืื ื ืึท ืคึผืึธืจื. ืคืื ืืืงืกืืขืึทืจืก ืฆื Direct3D 12. ืื ืคึผืจืืืขืงื ืงืึธื ืืื ืคืื ืื ืืขืจืืขืืืืื ืืืืกืึทื ืกื ืืื ืืขืจ LGPLv2.1.
ืื libvkd3d ืืืืืืึธืืขืง ืฉืืืฆื ืจืืึฟ Direct3D 12 ืคึฟืขืึดืงืืืื, ืึทืจืืึทื ืืขืจืขืื ื ืืจืึทืคืืงืก ืืื ืงืึทืืคึผืืืืื ื ืคืึทืกืืืึทืืื, ืงืืื ืืื ืืึทืคึฟืขืื ืจืฉืืืืช, ืืึทื ืืึทืื ืืื ืงืืคึผืข ืืึทื ืืึทืื, ืืืึธืจืฆื ืกืืื ืึทืืฉืขืจื, ืึทืื-ืคืื-ืกืืจ ืึทืงืกืขืก, ืกืึทืืคึผืึทืื, ืืึทืคึฟืขืื ืกืืื ืึทืืฉืขืจื, ืืืึธืจืฆื ืงืึทื ืกืืึทื ืฅ, ืืืืืจืขืงื ืจืขื ืืขืจืื ื, ืงืืึธืจ ืืขืืืึธืืก *( ) ืืื ืงืึธืคึผื * (). ืืื libvkd3d-shader, ืื ืืืืขืจืืขืฆืื ื ืคืื ืืืืขืงืึธืืข ืคืื โโืฉืึทืืขืจ ืืึธืืขืืก 4 ืืื 5 ืืื ืึท ืื ืืขืจืืืืืื SPIR-V ืคืึทืจืืจืขืืื ื ืืื ืืืคึผืืึทืืขื ืึทื. ืฉืืืฆื ืืืขืจืืขืงืก, ืคึผืืงืกืขื, ืืขืกืขืืืึทืืืึธื, ืงืึทืืคึผืืืืื ื ืืื ืคึผืฉืื ืืืฉืืึทืืึทืืจื ืฉืึทืืขืจื, ืืืึธืจืฆื ืืกืืืข ืกืืจืืึทืืืืืืฉืึทื ืืื ืืขืกืขืจืืึทืืืืืืฉืึทื. ืฉืึทืืขืจ ืืื ืกืืจืืงืฆืืขืก ืึทืจืืึทื ื ืขืืขื ืึทืจืืืืขืืืง, ืึทืืึธืืืฉืข ืืื ืืืกื ืึทืคึผืขืจืืืฉืึทื ื, ืคืึทืจืืืืึทื ืืื ืืึทืื ืืืืคื ืงืึธื ืืจืึธื ืึธืคึผืขืจืืืืขืจื, ืืืกืืขืจ, ืงืืืึทืื ืืื ืืึทืกืข ืื ืกืืจืึทืงืฉืึทื ื, ืึทื ืึธืจืืขืจื ืึทืงืกืขืก ืึทืคึผืขืจืืืฉืึทื ื (UAV, Unordered Access View).
ืืื ืื ื ืืึทืข ืืืขืจืกืืข:
- ืึทืจืืขื ืคืืจืืืืื ืฆื ืคึฟืึทืจืืขืกืขืจื ืื ืฉืึทืืขืจ ืงืึทืืคึผืืืืขืจ ืืื HLSL (High-Level Shader Language):
- ืฆืืืขืืขืื ืื ืคืืืืงืืื ืฆื ืจืืคื ืื ืื ืคืึทื ืืงืฉืึทื ื ืืื ื ืืฆื ืขืจืืื ืืื ืคึผืึทืจืึทืืขืืขืจืก ืฆื ืื ืื ืคืึทื ืืงืฉืึทื ื.
- ืฆืืืขืืืืื ืฉืืืฆื ืคึฟืึทืจ SV_DispatchThreadID, SV_GroupID ืืื SV_GroupThreadID ืคึผืึทืจืึทืืขืืขืจืก.
- ืฆืืืขืืืืื ืืขืืืื-ืืื ืคืึทื ืืงืฉืึทื ื ืึทืืข (), ืืืกืืึทื ืกืข (), ืขืงืกืคึผ (), ืขืงืกืคึผ2 (), ืคืจืึทืง (), ืืื (), ืจืขืคืืขืงื (), ืืื ื (), ืงืึธืก (), ืกืืืืกืืขืคึผ (), ืกืงืจื (), ืจืกืงืจื (), ืฉืจืื (), ืืจืึทื ืกืคึผืึธืกืข ().
- ืฆืืืขืืขืื ืขืจืฉื ืฉืืืฆื ืคึฟืึทืจ ืคืืึธืืืื ื ืคืื ื ืืืืคึผืก ืืื ื ืืืขืจืืง ืคึผืื ืืืขืืงืืึทื ืึทืืึท ืืื "min16float".
- ืืืืืืืืง ืืืคึผืจืืืื ืฉืืืฆื ืคึฟืึทืจ Direct3D 1/2/3 ืฉืึทืืขืจ ืืึธืืขื ืคึผืจืึธืืคืืืื.
- ืฆืืืขืืืืื ืขืคื ืืืขื ืึทืคึผื ืคึฟืึทืจ ืคึผืึทืจืกืื ื (vkd3d_shader_parse_dxbc) ืืื ืกืืจืืึทืืืืึทืืืึธื (vkd3d_shader_serialize_dxbc) ืคืื DXBC ืืืื ืขืจื ืืึทืื.
ืืงืืจ: opennet.ru