์์ธ ํ๋ก์ ํธ
libvkd3d ๋ผ์ด๋ธ๋ฌ๋ฆฌ
libvkd3d-shader์์๋ ์ ฐ์ด๋ ๋ชจ๋ธ 4์ 5์ ๋ฐ์ดํธ์ฝ๋๋ฅผ ์ค๊ฐ SPIR-V ํํ์ผ๋ก ๋ณํํ๋ ์์ ์ด ๊ตฌํ๋ฉ๋๋ค. ์ ์ , ํฝ์ , ํ ์ ๋ ์ด์ , ์ปดํจํ ๋ฐ ๋จ์ ์ง์ค๋ฉํธ๋ฆฌ ์ ฐ์ด๋, ๋ฃจํธ ์๋ช ์ง๋ ฌํ ๋ฐ ์ญ์ง๋ ฌํ๊ฐ ์ง์๋ฉ๋๋ค. ์ ฐ์ด๋ ๋ช ๋ น์๋ ์ฐ์ , ์์ ๋ฐ ๋นํธ ์ฐ์ฐ, ๋น๊ต ๋ฐ โโ๋ฐ์ดํฐ ํ๋ฆ ์ ์ด ์ฐ์ฐ์, ์ํ๋ง, ์์ง ๋ฐ ๋ก๋ ๋ช ๋ น, ์์ ์๋ ์ก์ธ์ค ์์ (UAV, ์์ ์๋ ์ก์ธ์ค ๋ณด๊ธฐ)์ด ํฌํจ๋ฉ๋๋ค.
๊ฐ์ฅ ์ค์ํ ๊ฒ ์ค
- libvkd3d-shader ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ์ฌ ํ๋ก์ ํธ์์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์์ต๋๋ค.
- ํ ์ ๋ ์ด์ ์ ฐ์ด๋ ์ง์.
- ๋ฃจํธ ์๋ช ์ ๋ณํ, ์ง๋ ฌํ ๋ฐ ์ญ์ง๋ ฌํ ์ง์(vkd3d_serialize_versioned_root_signature() ๋ฐ vkd3d_create_versioned_root_signature_deserializer())
- ์คํธ๋ฆฌ๋ฐ ์ถ๋ ฅ์ ์ง์ํฉ๋๋ค.
- ๋ฉํฐ์ํ๋ง, ๋ฆฌ์์ค ์์ฝ,
๊ฐ์ ์ธ๋ฑ์ค ๋ ๋๋ง, ํฝ์ ์ ฐ์ด๋๊ฐ ์๋ ์ฌ๋ ๋ ๋๋ง, ๋ค์ํ ๋ช ๋ น ๋๊ธฐ์ด์ ๋ฆฌ์์ค์ ๋ํ ๋์ ์ก์ธ์ค, Null-view. - ํ๊ฒฝ ๋ณ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. VKD3D_CONFIG๋ libvkd3d ๋์์ ๋ณ๊ฒฝํ๋ ์ต์ ์ ์ค์ ํ๊ณ VKD3D_VULKAN_DEVICE๋ Vulkan API์ฉ ์ฅ์น๋ฅผ ์ฌ์ ์ํฉ๋๋ค.
- bufinfo ์
ฐ์ด๋ ์ง์นจ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
ํ๊ฐ_์ค์ฌ,
ํ๊ฐ_์ํ_์ธ๋ฑ์ค,
ld2ms,
์ํ_b,
์ํ_d,
์ํ_์ ๋ณด,
์ํํฌ์ค.
์ถ์ฒ : opennet.ru