Iphrojekthi yewayini eshicilelwe i-Vkd3d 1.7 ngokuqaliswa kwe-Direct3D 12

Iphrojekthi Yewayini ishicilele ukukhululwa kwephakheji ye-vkd3d 1.7 ngokusetshenziswa kwe-Direct3D 12 esebenza ngokusakaza izingcingo ku-API yezithombe ze-Vulkan. Iphakheji ihlanganisa imitapo yolwazi ye-libvkd3d enokuqaliswa kwe-Direct3D 12, i-libvkd3d-shader enomhumushi wamamodeli we-shader 4 no-5 kanye nama-libvkd3d-utils anemisebenzi yokwenza lula ukuthuthwa kwezinhlelo zokusebenza ze-Direct3D 12, kanye nesethi yezibonelo zedemo, kuhlanganise nechweba. yama-glxgears kuya ku-Direct3D 12. Ikhodi yephrojekthi isatshalaliswa inelayisensi ngaphansi kwe-LGPLv2.1.

Umtapo wezincwadi we-libvkd3d usekela izici eziningi ze-Direct3D 12, okuhlanganisa imidwebo nezinsiza zokubala, imigqa nohlu lwemiyalo, izibambo nezibambo zenqwaba, amasignesha ezimpande, ukufinyelela ngaphandle kwe-oda, Amasampula, amasignesha emiyalo, izimpande ezingaguquki, ukunikezwa okungaqondile, Izindlela ezicacile *( ) kanye Kopisha*(). Ku-libvkd3d-shader, ukuhunyushwa kwe-bytecode yamamodeli we-shader 4 no-5 kube ukumelwa okumaphakathi kwe-SPIR-V kuyasetshenziswa. Isekela i-vertex, i-pixel, i-tessellation, i-comute ne-geometry shader elula, i-serialization yesiginesha yezimpande kanye ne-deserialization. Imiyalo ye-Shader ihlanganisa i-arithmetic, i-athomu kanye nokusebenza kwebhithi, ukuqhathanisa nokulawula ukugeleza kwedatha, isampula, imiyalelo yokuqoqa nokulayisha, imisebenzi yokufinyelela engahlelekile (UAV, Ukubuka Kokufinyelela Okungahlelekile).

Enguqulweni entsha:

  • Umsebenzi uqhubekile nokuthuthukisa isihlanganisi se-shader ku-HLSL (Ulimi Lwe-Shader Lwezinga Eliphezulu):
    • Kwengezwe amandla okushayela imisebenzi yangokwezifiso nokusebenzisa amalungu afanayo njengamapharamitha emisebenzini yangokwezifiso.
    • Kungezwe usekelo lwamapharamitha e-SV_DispatchThreadID, SV_GroupID kanye ne-SV_GroupThreadID.
    • Kwengezwe imisebenzi eyakhelwe ngaphakathi yonke(), ibanga(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt () , isinyathelo(), transpose().
    • Kwengezwe ukusekelwa kokuqala kwezinhlobo zamaphuzu antantayo anembayo aphansi njenge-"min16float".
  • Ukusekelwa okuthuthuke kakhulu kwamaphrofayili emodeli ye-Direct3D 1/2/3 ye-shader.
  • Kwengezwe i-API esesidlangalaleni yokuhlaziya (vkd3d_shader_parse_dxbc) kanye nokwenza uchungechunge (vkd3d_shader_serialize_dxbc) kwedatha kanambambili ye-DXBC.

Source: opennet.ru

Engeza amazwana