เดตเตˆเตป เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต Direct3D 1.7 เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฒเต‹เดŸเต† Vkd3d 12 เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเต

เดตเตพเด•เตเด•เตป เด—เตเดฐเดพเดซเดฟเด•เตเดธเต API-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดฌเตเดฐเต‹เดกเตเด•เดพเดธเตเดฑเตเดฑเดฟเด‚เด—เต เด•เต‹เดณเตเด•เตพ เดตเดดเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ Direct3D 1.7 เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ vkd3d 12 เดชเดพเด•เตเด•เต‡เดœเดฟเดจเตเดฑเต† เดฑเดฟเดฒเต€เดธเต เดตเตˆเตป เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเต. เดชเดพเด•เตเด•เต‡เดœเดฟเตฝ Direct3D 3 เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ libvkd12d เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ, เดทเต‡เดกเตผ เดฎเต‹เดกเดฒเตเด•เตพ 3, 4 เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดชเดฐเดฟเดญเดพเดทเด•เดจเตเดณเตเดณ libvkd5d-shader, Direct3D 3 เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเดŸเต† เดชเต‹เตผเดŸเตเดŸเดฟเด‚เด—เต เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดซเด‚เด—เตเดทเดจเตเด•เดณเตเดณเตเดณ libvkd12d-utils เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดชเต‹เตผเดŸเตเดŸเต เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. glxgears เดฒเต‡เด•เตเด•เต Direct3D 12. เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เต‹เดกเต LGPLv2.1 เดชเตเดฐเด•เดพเดฐเด‚ เดฒเตˆเดธเตปเดธเต เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

เด—เตเดฐเดพเดซเดฟเด•เตโ€Œเดธเต, เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฟเด‚เด—เต เดธเต—เด•เดฐเตเดฏเด™เตเด™เตพ, เด•เตเดฏเต‚เด•เดณเตเด‚ เด•เดฎเดพเตปเดกเต เดฒเดฟเดธเตเดฑเตเดฑเตเด•เดณเตเด‚, เดนเดพเตปเดกเดฟเดฒเตเด•เดณเตเด‚ เดนเต€เดชเตเดชเต เดนเดพเตปเดกเดฟเดฒเตเด•เดณเตเด‚, เดฑเต‚เดŸเตเดŸเต เดธเดฟเด—เตโ€Œเดจเต‡เดšเตเดšเดฑเตเด•เดณเตเด‚, เด”เดŸเตเดŸเต-เด“เดซเต-เด“เตผเดกเตผ เด†เด•เตโ€Œเดธเดธเต, เดธเดพเด‚เดชเตเดฒเดฑเตเด•เตพ, เด•เดฎเดพเตปเดกเต เดธเดฟเด—เตเดจเต‡เดšเตเดšเดฑเตเด•เตพ, เดฑเต‚เดŸเตเดŸเต เด•เต‹เตบเดธเตเดฑเตเดฑเดจเตเดฑเตโ€Œเดธเต, เดชเดฐเต‹เด•เตเดท เดฑเต†เตปเดกเดฑเดฟเด‚เด—เต, เด•เตเดฒเดฟเดฏเตผ เดฐเต€เดคเดฟเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเตเตพเดชเตเดชเต†เดŸเต†เดฏเตเดณเตเดณ เดฎเดฟเด•เตเด• Direct3D 3 เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเต†เดฏเตเด‚ libvkd12d เดฒเตˆเดฌเตเดฐเดฑเดฟ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. ) เด•เต‚เดŸเดพเดคเต† เดชเด•เตผเดคเตเดคเตเด•*(). libvkd3d-shader-เตฝ, เดทเต‡เดกเตผ เดฎเต‹เดกเดฒเตเด•เตพ 4, 5 เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดฌเตˆเดฑเตเดฑเตเด•เต‹เดกเต เด’เดฐเต เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต SPIR-V เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดตเต†เตผเดŸเตเดŸเต†เด•เตเดธเต, เดชเดฟเด•เตเดธเตฝ, เดŸเต†เดธเตเดธเดฒเต‡เดทเตป, เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเต, เดธเดฟเดฎเตเดชเดฟเตพ เดœเตเดฏเดพเดฎเดฟเดคเดฟ เดทเต‡เดกเดฑเตเด•เตพ, เดฑเต‚เดŸเตเดŸเต เดธเดฟเด—เตเดจเต‡เดšเตเดšเตผ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป, เดกเดฟเดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดŽเดจเตเดจเดฟเดต เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. เดทเต‡เดกเตผ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเดฟเตฝ เด…เดฐเดฟเดคเตเดฎเต†เดฑเตเดฑเดฟเด•เต, เด†เดฑเตเดฑเต‹เดฎเดฟเด•เต, เดฌเดฟเดฑเตเดฑเต เด“เดชเตเดชเดฑเต‡เดทเดจเตเด•เตพ, เดคเดพเดฐเดคเดฎเตเดฏเดตเตเด‚ เดกเดพเดฑเตเดฑเดพ เดซเตเดฒเต‹ เด•เตบเดŸเตเดฐเต‹เตพ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผ, เดธเดพเดฎเตเดชเดฟเตพ, เดถเต‡เด–เดฐเดฟเด•เตเด•เตฝ, เดฒเต‹เดกเต เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ, เด“เตผเดกเตผ เดšเต†เดฏเตเดฏเดพเดคเตเดค เด†เด•เตเดธเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ (UAV, เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เด†เด•เตเดธเดธเต เด•เดพเดดเตเดš) เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดชเตเดคเดฟเดฏ เดตเต‡เตผเดธเดฟเด•เตพ:

  • ะŸั€ะพะดะพะปะถะตะฝะฐ ั€ะฐะฑะพั‚ะฐ ะฟะพ ัƒะปัƒั‡ัˆะตะฝะธัŽ ะบะพะผะฟะธะปัั‚ะพั€ะฐ ัˆะตะนะดะตั€ะพะฒ ะฝะฐ ัะทั‹ะบะต 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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•