讚讬 讜讜讬讬谉 驻旨专讜讬注拽讟 讛讗讟 讘讗驻专讬讬讟 Vkd3d 1.4 诪讬讟 Direct3D 12 讬诪驻旨诇讗址诪注谞讟讬讬砖讗址谉

讚讬 讜讜讬讬谉 驻旨专讜讬注拽讟 讛讗讟 讗专讜讬住 讚讬 诪注诇讚讜谞讙 驻讜谉 讚讬 vkd3d 1.4 驻旨注拽诇 诪讬讟 讗址 讬诪驻旨诇讗址诪注谞讟讬讬砖讗址谉 驻讜谉 Direct3D 12 讜讜讗指住 讗址专讘注讟 讚讜专讱 讘专讗指讚拽讗址住讟讬谞讙 专讜驻讟 爪讜 讚讬 Vulkan graphics API. 讚注专 驻旨注拽诇 讻讜诇诇 libvkd3d 诇讬讬讘专注专讬讝 诪讬讟 讬诪驻旨诇讗址诪讗址谞抓 驻讜谉 Direct3D 12, libvkd3d-shader 诪讬讟 讗址 讬讘注专讝注爪注专 驻讜谉 砖讗址讚注专 诪讗指讚注诇住 4 讗讜谉 5 讗讜谉 libvkd3d-utils 诪讬讟 驻讗址谞讙拽砖讗址谞讝 驻挚讗址专 住讬诪驻旨诇讗址驻讬讬讬谞讙 讚讬 驻旨讗指专讟讬谞讙 驻讜谉 Direct3D 12 讗址驻旨诇讗址拽讬讬砖讗址谞讝, 讜讜讬 讙注讝讜谞讟 讜讜讬 讗址 讙讗址谞讙 驻讜谉 讚注诪讗指 讘讬讬砖驻讬诇谉, 讗址专讬讬址谞讙注专注讻谞讟 讗址 驻旨讗指专讟. 驻讜谉 讙诇拽住讙注讗址专住 爪讜 Direct3D 12. 讚讬 驻旨专讜讬注拽讟 拽讗指讚 讗讬讝 驻讜谞讗谞讚注专讙注讟讬讬诇讟 诇讬讬住讗址谞住讟 讗讜谞讟注专 LGPLv2.1.

袘懈斜谢懈芯褌械泻邪 libvkd3d 锌芯写写械褉卸懈胁邪械褌 斜芯谢褜褕褍褞 褔邪褋褌褜 胁芯蟹屑芯卸薪芯褋褌械泄 Direct3D 12, 胁泻谢褞褔邪褟 褋褉械写褋褌胁邪 写谢褟 谐褉邪褎懈泻懈 懈 胁褘褔懈褋谢械薪懈泄, 芯褔械褉械写懈 懈 褋锌懈褋泻懈 泻芯屑邪薪写, 写械褋泻褉懈锌褌芯褉褘 懈 写械褋泻褉懈锌褌芯褉褘 泻褍褔懈, 泻芯褉薪械胁褘械 褋懈谐薪邪褌褍褉褘, 薪械褍锌芯褉褟写芯褔械薪薪褘泄 写芯褋褌褍锌, Sampler-褘, 褋懈谐薪邪褌褍褉褘 泻芯屑邪薪写, 泻芯褉薪械胁褘械 泻芯薪褋褌邪薪褌褘, 薪械锌褉褟屑褍褞 (indirect) 芯褌褉懈褋芯胁泻褍, 屑械褌芯写褘 Clear*() 懈 Copy*().

袙 libvkd3d-shader 褉械邪谢懈蟹芯胁邪薪邪 褌褉邪薪褋谢褟褑懈褟 斜邪泄褌泻芯写邪 4 懈 5 屑芯写械谢械泄 褕械泄写械褉芯胁 胁 锌褉芯屑械卸褍褌芯褔薪芯械 锌褉械写褋褌邪胁谢械薪懈械 SPIR-V. 袩芯写写械褉卸懈胁邪褞褌褋褟 胁械褉褕懈薪薪褘械, 锌懈泻褋械谢褜薪褘械, 褌械褋褋械谢褟褑懈芯薪薪褘械, 胁褘褔懈褋谢懈褌械谢褜薪褘械 懈 锌褉芯褋褌褘械 谐械芯屑械褌褉懈褔械褋泻懈械 褕械泄写械褉褘, 褋械褉懈邪谢懈蟹邪褑懈褟 懈 写械褋械褉懈邪谢懈蟹邪褑懈褟 泻芯褉薪械胁芯泄 褋懈谐薪邪褌褍褉褘. 袠蟹 褕械泄写械褉薪褘褏 懈薪褋褌褉褍泻褑懈泄 褉械邪谢懈蟹芯胁邪薪褘 邪褉懈褎屑械褌懈褔械褋泻懈械, 邪褌芯屑邪褉薪褘械 懈 斜懈褌芯胁褘械 芯锌械褉邪褑懈懈, 芯锌械褉邪褌芯褉褘 褋褉邪胁薪械薪懈褟 懈 褍锌褉邪胁谢械薪懈褟 锌芯褌芯泻芯屑 锌械褉械写邪褔懈 写邪薪薪褘褏, 懈薪褋褌褉褍泻褑懈懈 sample, gather 懈 load, 芯锌械褉邪褑懈懈 薪械褍锌芯褉褟写芯褔械薪薪芯谐芯 写芯褋褌褍锌邪 (UAV, Unordered Access View).

讗讬谉 讚讬 谞讬讬址注 讜讜注专住讬注:

  • 袙薪械褋械薪褘 屑薪芯谐芯褔懈褋谢械薪薪褘械 褍谢褍褔褕械薪懈褟 胁 泻芯屑锌懈谢褟褌芯褉 褕械泄写械褉芯胁 薪邪 褟蟹褘泻械 HLSL (High-Level Shader Language), 锌褉械写芯褋褌邪胁谢褟械屑芯屑 薪邪褔懈薪邪褟 褋 DirectX 9.0.
  • 袩褉械写谢芯卸械薪邪 薪芯胁邪褟 褉械邪谢懈蟹邪褑懈褟 泻褍褔懈 写械褋泻褉懈锌褌芯褉芯胁 (Descriptor Heap), 懈褋锌芯谢褜蟹褍褞褖邪褟 Vulkan-褉邪褋褕懈褉械薪懈械 VK_EXT_descriptor_indexing.
  • 袛芯斜邪胁谢械薪邪 薪芯胁邪褟 褉械邪谢懈蟹邪褑懈褟 谐褉邪薪懈褑 (fence), 芯褋薪芯胁邪薪薪邪褟 薪邪 Vulkan-褉邪褋褕懈褉械薪懈懈 K_KHR_timeline_semaphore.

诪拽讜专: opennet.ru

诇讬讬讙谉 讗址 讘讗址诪注专拽讜谞讙