Iprojekthi yeWayini ipapashe iVkd3d 1.7 ngokuphunyezwa kweDirect3D 12

Iprojekthi yeWayini ipapashe ukukhutshwa kwephakheji ye-vkd3d 1.7 ngokuphunyezwa kwe-Direct3D 12 esebenza ngokufowunela ukusasaza kwi-API yemizobo ye-Vulkan. Iphakheji iquka iilayibrari ze-libvkd3d ngokuphunyezwa kwe-Direct3D 12, i-libvkd3d-shader kunye nomguquleli weemodeli ze-shader 4 kunye ne-5 kunye ne-libvkd3d-utils kunye nemisebenzi yokwenza lula ukuthunyelwa kwe-Direct3D 12 izicelo, kunye neseti yemizekelo yeedemo, kuquka izibuko. ye-glxgears ukuya ku-Direct3D 12. Ikhowudi yeprojekthi isasazwa ilayisensi phantsi kwe-LGPLv2.1.

Ithala leencwadi le-libvkd3d lixhasa uninzi lweempawu ze-Direct3D ezili-12, kubandakanywa imizobo kunye nezixhobo zokubala, imigca kunye noluhlu lwemiyalelo, izibambo kunye neziphatho zemfumba, iingcambu zesignesha, ukufikelela ngaphandle kwe-odolo, Iisampuli, utyikityo lomyalelo, iingcambu eziguquguqukayo, unikezelo olungathanga ngqo, Iindlela ezicacileyo *( ) kwaye Khuphela*(). Kwi-libvkd3d-shader, ukuguqulelwa kwe-bytecode yeemodeli ze-shader 4 kunye ne-5 kumboniso ophakathi we-SPIR-V uphunyeziwe. Ixhasa i-vertex, i-pixel, i-tessellation, i-comute kunye ne-geometry shaders elula, i-root signature serialization kunye ne-deserialization. Imiyalelo ye-Shader ibandakanya i-arithmetic, i-atomic kunye nokusebenza kwe-bit, uthelekiso kunye nabaqhubi bolawulo lokuhamba kwedatha, isampuli, ukuqokelela kunye nokulayisha imiyalelo, imisebenzi yokufikelela okungenamyalelo (i-UAV, i-UAV engalawulwayo).

Kwinguqulelo entsha:

  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ компилятора ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² Π½Π° языкС 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.

umthombo: opennet.ru

Yongeza izimvo