3๋ ๋ฐ์ ๊ฐ๋ฐ ๋์ Wine ํ๋ก์ ํธ๋ Vulkan ๊ทธ๋ํฝ API์ ๋ํ ๋ธ๋ก๋์บ์คํธ ํธ์ถ์ ํตํด ์๋ํ๋ Direct1.3D 3 ๊ตฌํ์ด ํฌํจ๋ vkd12d 3 ํจํค์ง ๋ฆด๋ฆฌ์ค๋ฅผ ์ถ์ํ์ต๋๋ค. ํจํค์ง์๋ Direct3D 12 ๊ตฌํ์ด ํฌํจ๋ libvkd3d ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ ฐ์ด๋ ๋ชจ๋ธ 4 ๋ฐ 5์ ๋ณํ๊ธฐ๊ฐ ํฌํจ๋ libvkd3d-shader, Direct3D 12 ์ ํ๋ฆฌ์ผ์ด์ ํฌํ ์ ๋จ์ํํ๋ ๊ธฐ๋ฅ์ด ํฌํจ๋ libvkd3d-utils ๋ฐ ํฌํธ๋ฅผ ํฌํจํ ๋ฐ๋ชจ ์์ ์ธํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. Direct12D 2.1์ ๋ํ glxgears์ ํ๋ก์ ํธ ์ฝ๋๋ LGPLvXNUMX์ ๋ฐ๋ผ ๋ผ์ด์ผ์ค๊ฐ ๋ถ์ฌ๋์ด ๋ฐฐํฌ๋ฉ๋๋ค.
libvkd3d ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ทธ๋ํฝ ๋ฐ ๊ณ์ฐ ๊ธฐ๋ฅ, ํ ๋ฐ ๋ช ๋ น ๋ชฉ๋ก, ํธ๋ค ๋ฐ ํ ํธ๋ค, ๋ฃจํธ ์๋ช , ๋น์์ฐจ์ ์ก์ธ์ค, ์ํ๋ฌ, ๋ช ๋ น ์๋ช , ๋ฃจํธ ์์, ๊ฐ์ ๋ ๋๋ง, Clear ๋ฉ์๋๋ฅผ ํฌํจํ ๋๋ถ๋ถ์ Direct3D 12 ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. ) ๋ฐ ๋ณต์ฌ*().
libvkd3d-shader์์๋ ์ ฐ์ด๋ ๋ชจ๋ธ 4์ 5์ ๋ฐ์ดํธ์ฝ๋๋ฅผ ์ค๊ฐ SPIR-V ํํ์ผ๋ก ๋ณํํ๋ ์์ ์ด ๊ตฌํ๋ฉ๋๋ค. ์ ์ , ํฝ์ , ํ ์ ๋ ์ด์ , ์ปดํจํ ๋ฐ ๋จ์ ์ง์ค๋ฉํธ๋ฆฌ ์ ฐ์ด๋, ๋ฃจํธ ์๋ช ์ง๋ ฌํ ๋ฐ ์ญ์ง๋ ฌํ๊ฐ ์ง์๋ฉ๋๋ค. ์ ฐ์ด๋ ๋ช ๋ น์๋ ์ฐ์ , ์์ ๋ฐ ๋นํธ ์ฐ์ฐ, ๋น๊ต ๋ฐ โโ๋ฐ์ดํฐ ํ๋ฆ ์ ์ด ์ฐ์ฐ์, ์ํ๋ง, ์์ง ๋ฐ ๋ก๋ ๋ช ๋ น, ์์ ์๋ ์ก์ธ์ค ์์ (UAV, ์์ ์๋ ์ก์ธ์ค ๋ณด๊ธฐ)์ด ํฌํจ๋ฉ๋๋ค.
Vkd3d 1.3์ ๊ฐ์ฅ ์ค์ํ ํ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- DirectX 9.0๋ถํฐ ์ ๊ณต๋๋ HLSL(๊ณ ๊ธ ์ ฐ์ด๋ ์ธ์ด)์ ์ ฐ์ด๋ ์ปดํ์ผ ๋ฐ ์ ์ฒ๋ฆฌ์ ๋ํ ์ด๊ธฐ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- 5.1 ์ ฐ์ด๋ ๋ชจ๋ธ์ ์ ์๋ ์ค๋ช ์ ๋ฐฐ์ด์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ ฐ์ด๋์ ๋ฐฐ์ ๋ฐ๋ ๋ถ๋ ์์์ ์ฐ์ฐ, ํ ์ ๋ ์ด์ ์ ฐ์ด๋์ ๋ํ ๊ฐ์ ์ฃผ์ ์ง์ , ์ ฐ์ด๋์์ ์คํ ์ค ๋ด๋ณด๋ด๊ธฐ, "์ ํํ" ์ ฐ์ด๋ ์์ ์ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ฆฌ์์ค์ ๋ํ ์ ์ญ ์ฅ๋ฒฝ์ ๋ํ ์ง์์ ์ ๊ณตํฉ๋๋ค.
- Direct3D ์ ฐ์ด๋๋ฅผ ๋ฐ์ดํธ์ฝ๋์์ ์ด์ ๋ธ๋ฆฌ ํํ์ผ๋ก ๋ถํดํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค.
- Direct3D 3, 1, 2 ์ ฐ์ด๋ ๋ชจ๋ธ์ ์ฌ์ฉ๋๋ ์ด์ Direct3D ๋ฐ์ดํธ์ฝ๋ ํ์ ๊ตฌ๋ฌธ ๋ถ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- libvkd3d๋ ๋ฃจํธ ์๋ช , ์๋ชป๋ ๋ณด๊ธฐ ์นด์ดํฐ, ์ถ๋ ฅ์ ์ํ ๋ ผ๋ฆฌ์ ๋ณํฉ ์ฐ์ฐ์, mirror_once ํ ์ค์ฒ ์ฃผ์ ์ง์ ๋ชจ๋์ ๊ฐ์ Direct3D 12 ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค. vkd3d_host_time_domain_info ๊ตฌ์กฐ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ถ์ฒ : opennet.ru