ืคืจืืืงื Wine ืคืจืกื ืืช ืืฉืืจืืจ ืฉื ืืืืืช vkd3d 1.7 ืขื ืืืฉืื ืฉื 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, ืืืื ืืชืงื ื ืืจืคืืงื ืืืืฉืื, ืชืืจืื ืืจืฉืืืืช ืคืงืืืืช, ื ืงืืืืช ืืืืื ืื ืงืืืืช ืืืืื, ืืชืืืืช ืฉืืจืฉ, ืืืฉื ืืืืฅ ืืกืืจ, ืืืืืืช, ืืชืืืืช ืคืงืืืืช, ืงืืืขื ืฉืืจืฉ, ืขืืืื ืขืงืืฃ, ืฉืืืืช ื ืงื *( ) ืืืขืชืง*(). ื-libvkd3d-shader, ืืืืฉื ืืชืจืืื ืฉื bytecode ืฉื ืืืื ืืฆืืื 4 ื-5 ืืืืฆืื SPIR-V ืืื ืืื. ืชืืื ืืืฆืืืืช ืงืืืงืื, ืคืืงืกื, ืืกื, ืืืฉืื ืืืืืืืืจืื ืคืฉืืื, ืกืจืืืืืืฆืื ืืกืืจืืืืืืฆืื ืฉื ืืชืืืืช ืฉืืจืฉ. ืืืจืืืช Shader ืืืืืืช ืคืขืืืืช ืืจืืชืืืืืช, ืืืืืืืช ืืกืืืืืช, ืืคืขืืื ืืงืจืช ืืฉืืืื ืืืจืืืช ื ืชืื ืื, ืืืืื, ืืืจืืืช ืืืกืืฃ ืืืขืื ื, ืคืขืืืืช ืืืฉื ืื ืืกืืืจืืช (ืื"ื, ืชืฆืืืช ืืืฉื ืื ืืกืืืจืช).
ืืืจืกื ืืืืฉื:
- ืืขืืืื ื ืืฉืื ืืฉืืคืืจ ืืืืจ ืืฆืืื ื-HLSL (High-Level Shader Language):
- ืืืกืคื ืืช ืืืืืืช ืืงืจืื ืืคืื ืงืฆืืืช ืืืชืืืืช ืืืฉืืช ืืืืฉืชืืฉ ืืืขืจืืื ืืคืจืืืจืื ืืคืื ืงืฆืืืช ืืืชืืืืช ืืืฉืืช.
- ื ืืกืคื ืชืืืื ืืคืจืืืจืื SV_DispatchThreadID, SV_GroupID ื-SV_GroupThreadID.
- ื ืืกืคื ืคืื ืงืฆืืืช ืืืื ืืช all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , step(), transpose().
- ื ืืกืคื ืชืืืื ืจืืฉืื ืืช ืืกืืื ื ืงืืื ืฆืคื ืืจืืช ืืืืง ื ืืืื ืืืื "min16float".
- ืชืืืื ืืฉืืคืจืช ืืฉืืขืืชืืช ืืคืจืืคืืื ืืืื ืืฆืืื Direct3D 1/2/3.
- ื ืืกืฃ API ืฆืืืืจื ืขืืืจ ื ืืชืื (vkd3d_shader_parse_dxbc) ืืกืืจื (vkd3d_shader_serialize_dxbc) ืฉื ื ืชืื ืื ืืื ืืจืืื DXBC.
ืืงืืจ: OpenNet.ru