เจตเจพเจˆเจจ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‡ เจกเจพเจ‡เจฐเฉˆเจ•เจŸ3เจกเฉ€ 1.2 เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ Vkd3d 12 เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ

เจตเจพเจˆเจจ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจชเฉˆเจ•เฉ‡เจœ เจฐเฉ€เจฒเฉ€เจœเจผ vkd3d 1.2 เจ‡เฉฑเจ• Direct3D 12 เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจœเฉ‹ เจตเฉเจฒเจ•เจจ เจ—เฉเจฐเจพเจซเจฟเจ•เจธ API เจจเฉ‚เฉฐ เจชเฉเจฐเจธเจพเจฐเจฃ เจ•เจพเจฒเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉˆเจ•เฉ‡เจœ เจตเจฟเฉฑเจš Direct3D 3 เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ libvkd12d เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚, shader เจฎเจพเจกเจฒเจพเจ‚ 3 เจ…เจคเฉ‡ 4 เจฆเฉ‡ เจ…เจจเฉเจตเจพเจฆเจ• เจฆเฉ‡ เจจเจพเจฒ libvkd5d-shader เจ…เจคเฉ‡ Direct3D 3 เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจชเฉ‹เจฐเจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ libvkd12d-utils, เจจเจพเจฒ เจนเฉ€ เจกเฉˆเจฎเฉ‹ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจกเจพเจ‡เจฐเฉˆเจ•เจŸ3เจกเฉ€ เจคเฉฑเจ• glxgears เจฆเจพ 12. เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก เจฆเฉเจ†เจฐเจพ เจตเฉฐเจกเจฟเจ† LGPLv2.1 เจฆเฉ‡ เจ…เจงเฉ€เจจ เจฒเจพเจ‡เจธเฉฐเจธเจธเจผเฉเจฆเจพเฅค

libvkd3d เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจธเจนเจฟเจฏเฉ‹เจ— เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ Direct3D 12 เจฆเฉ€เจ†เจ‚ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ—เฉเจฐเจพเจซเจฟเจ•เจธ เจ…เจคเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจธเฉเจตเจฟเจงเจพเจตเจพเจ‚, เจ•เจคเจพเจฐเจพเจ‚ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจธเฉ‚เจšเฉ€เจ†เจ‚, เจนเฉˆเจ‚เจกเจฒ เจ…เจคเฉ‡ เจนเฉ€เจช เจนเฉˆเจ‚เจกเจฒ, เจฐเฉ‚เจŸ เจฆเจธเจคเจ–เจค, เจ†เจŠเจŸ-เจ†เจซ-เจ†เจฐเจกเจฐ เจชเจนเฉเฉฐเจš, เจธเฉˆเจ‚เจชเจฒเจฐ, เจ•เจฎเจพเจ‚เจก เจนเจธเจคเจพเจ–เจฐ, เจฐเฉ‚เจŸ เจธเจฅเจฟเจฐเจคเจพ, เจ…เจธเจฟเฉฑเจงเฉ‡ เจฐเฉˆเจ‚เจกเจฐเจฟเฉฐเจ—, เจ•เจฒเฉ€เจ…เจฐ*() เจตเจฟเจงเฉ€เจ†เจ‚ เจธเจผเจพเจฎเจฒ เจนเจจเฅค เจ…เจคเฉ‡ เจ•เจพเจชเฉ€*()เฅค

libvkd3d-shader เจตเจฟเฉฑเจš, เจธเจผเฉ‡เจกเจฐ เจฎเจพเจกเจฒเจพเจ‚ 4 เจ…เจคเฉ‡ 5 เจฆเฉ‡ เจฌเจพเจˆเจŸเจ•เฉ‹เจก เจฆเจพ เจ‡เฉฑเจ• เจตเจฟเจšเจ•เจพเจฐเจฒเฉ‡ SPIR-V เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจตเจฟเฉฑเจš เจ…เจจเฉเจตเจพเจฆ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจตเจฐเจŸเฉ‡เจ•เจธ, เจชเจฟเจ•เจธเจฒ, เจŸเฉˆเจธเจฒเฉ‡เจธเจผเจจ, เจ•เฉฐเจชเจฟเจŠเจŸ เจ…เจคเฉ‡ เจธเจงเจพเจฐเจจ เจœเจฟเจ“เจฎเฉˆเจŸเจฐเฉ€ เจธเจผเฉˆเจกเจฐ, เจฐเฉ‚เจŸ เจธเจฟเจ—เจจเฉ‡เจšเจฐ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจกเฉ€เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจธเจฎเจฐเจฅเจฟเจค เจนเจจเฅค เจธเจผเฉˆเจกเจฐ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจตเจฟเฉฑเจš เจ…เฉฐเจ•เจ—เจฃเจฟเจค, เจชเจฐเจฎเจพเจฃเฉ‚ เจ…เจคเฉ‡ เจฌเจฟเฉฑเจŸ เจ“เจชเจฐเฉ‡เจธเจผเจจ, เจคเฉเจฒเจจเจพ เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพ เจชเฉเจฐเจตเจพเจน เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจ†เจชเจฐเฉ‡เจŸเจฐ, เจจเจฎเฉ‚เจจเจพ, เจ‡เจ•เฉฑเจคเจฐ เจ•เจฐเจจ เจ…เจคเฉ‡ เจฒเฉ‹เจก เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจนเจฆเจพเจ‡เจคเจพเจ‚, เจฌเจฟเจจเจพเจ‚ เจ•เฉเจฐเจฎเจฌเฉฑเจง เจเจ•เจธเฉˆเจธ เจ“เจชเจฐเฉ‡เจธเจผเจจ (UAV, เจ…เจฃ-เจ•เฉเจฐเจฎเจฌเฉฑเจง เจเจ•เจธเฉˆเจธ เจตเจฟเจŠ) เจธเจผเจพเจฎเจฒ เจนเจจเฅค

เจธเจญ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ†เจชเจธ เจตเจฟเฉฑเจš เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚ Vkd3d 1.2 เจตเจฟเฉฑเจš เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจจเฉ‚เฉฐ เจ‰เจœเจพเจ—เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

  • libvkd3d-shader เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเฉˆเฅค
  • เจŸเฉ‡เจธเฉˆเจฒเฉ‡เจธเจผเจจ เจธเจผเฉ‡เจกเจฐ เจธเจชเฉ‹เจฐเจŸเฅค
  • เจฐเฉ‚เจŸ เจฆเจธเจคเจ–เจคเจพเจ‚ (vkd3d_serialize_versioned_root_signature() เจ…เจคเฉ‡ vkd3d_create_versioned_root_signature_deserializer()) เจฆเฉ‡ เจฐเฉ‚เจชเจพเจ‚เจคเจฐเจฃ, เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจกเฉ€เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจเฅค
  • เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ— เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฒเจˆ เจธเจฎเจฐเจฅเจจเฅค
  • เจ•เจˆ เจชเจนเจฟเจฒเจพเจ‚ เจ…เจฃเจ‰เจชเจฒเจฌเจง Direct3D 12 เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจฎเจฒเจŸเฉ€เจธเฉˆเจ‚เจชเจฒเจฟเฉฐเจ— เจฒเจˆ เจธเจฎเจฐเจฅเจจ, เจธเจฐเฉ‹เจค เจฐเจฟเจœเจผเจฐเจตเฉ‡เจธเจผเจจ,
    เจ…เจธเจฟเฉฑเจงเฉ‡ เจ‡เฉฐเจกเฉˆเจ•เจธเจก เจฐเฉˆเจ‚เจกเจฐเจฟเฉฐเจ—, เจชเจฟเจ•เจธเจฒ เจธเจผเฉ‡เจกเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจฐเฉˆเจ‚เจกเจฐเจฟเฉฐเจ—, เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฎเจพเจ‚เจก เจ•เจคเจพเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉฑเจ• เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจชเจนเฉเฉฐเจš, เจจเจฒ-เจตเจฟเจฏเฉ‚เจœเจผเฅค

  • เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ: VKD3D_CONFIG libvkd3d เจตเจฟเจตเจนเจพเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจตเจฟเจ•เจฒเจช เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ เจ…เจคเฉ‡ VKD3D_VULKAN_DEVICE Vulkan API เจฒเจˆ เจกเจฟเจตเจพเจˆเจธ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เจฐเจจ เจฒเจˆเฅค
  • เจฌเจซเจฟเจจเจซเฉ‹ เจธเจผเฉˆเจกเจฐ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    เจจเจฎเฉ‚เจจเจพ_เจฌเฉ€,
    เจธเฉˆเจ‚เจชเจฒ_เจกเฉ€,
    เจจเจฎเฉ‚เจจเจพ_เจœเจพเจฃเจ•เจพเจฐเฉ€,
    เจจเจฎเฉ‚เจจเจพ.

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹