WinAPI์ ๊ฐ๋ฐฉํ ๊ตฌํ์ธ ์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค ํ๋ณด์ธ Wine 8.0์ ๋ํ ํ ์คํธ๊ฐ ์์๋์์ต๋๋ค. ์ฝ๋ ๋ฒ ์ด์ค๋ 7.22์ ์ค์์ผ๋ก ์์๋๋ ์ถ์๋ฅผ ์๋๊ณ ๋๊ฒฐ ๋จ๊ณ์ ๋ค์ด๊ฐ์ต๋๋ค. Wine 52 ์ถ์ ์ดํ 538๊ฐ์ ๋ฒ๊ทธ ๋ณด๊ณ ์๊ฐ ๋ง๊ฐ๋์์ผ๋ฉฐ XNUMX๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋์์ต๋๋ค.
๊ฐ์ฅ ์ค์ํ ๋ณ๊ฒฝ ์ฌํญ:
- Vulkan ๊ทธ๋ํฝ API์ ๋ํ ํธ์ถ ๋ณํ์ ํตํด ์๋ํ๋ Direct3D 3 ๊ตฌํ์ด ํฌํจ๋ vkd12d ํจํค์ง๊ฐ ๋ฒ์ 1.6๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- Vulkan ๋ฐ OpenGL์ ๋ํ ์์คํ ํธ์ถ ๋ณํ๊ธฐ(์ฝํฌ) ์ต์ ํ๊ฐ ์ํ๋์์ต๋๋ค.
- WinPrint๋ ์ธ์ ํ๋ก์ธ์์ ๋ํ ์ง์์ ํ์ฅํ์ต๋๋ค.
- ํฅ์๋ ์กฐ์ด์คํฑ ์ ์ดํ.
- printf ํจ์ ์ฝ๋์์ 'long' ์ ํ์ ๋ํ ์ง์์ ์ ๊ณตํ๋ ์์ ์ด ์๋ฃ๋์์ต๋๋ค.
- ๊ฒ์ ์ด์๊ณผ ๊ด๋ จ๋ ์ค๋ฅ ๋ณด๊ณ ์๋ ์ข ๋ฃ๋์์ต๋๋ค: Tom Clancy's Rainbow Six: Vegas 2, The Void, Ragnarok Online, Drakan, Star Wars, Colin McRae, X-COM.
- ์์ฉ ํ๋ก๊ทธ๋จ ์๋๊ณผ ๊ด๋ จ๋ ๋ซํ ์ค๋ฅ ๋ณด๊ณ ์: TMUnlimiter 1.2.0.0, MDB Viewer Plus, Framemaker 8, Studio One Professional 5.
๋ํ Vulkan ๊ทธ๋ํฝ API์ ๋ํ ํธ์ถ ๋ณํ์ ํตํด ์์ ํ๋ Direct3D 1.6 ๊ตฌํ์ ํฌํจํ๋ vkd3d 12 ํจํค์ง์ Wine ํ๋ก์ ํธ ๊ฒ์์ ์ฃผ๋ชฉํ ์ ์์ต๋๋ค. ํจํค์ง์๋ Direct3D 3 ๊ตฌํ์ด ํฌํจ๋ libvkd12d ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ ฐ์ด๋ ๋ชจ๋ธ 3 ๋ฐ 4์ ๋ณํ๊ธฐ๊ฐ ํฌํจ๋ libvkd5d-shader, Direct3D 3 ์ ํ๋ฆฌ์ผ์ด์ ์ด์์ ๋จ์ํํ๋ ๊ธฐ๋ฅ์ด ํฌํจ๋ libvkd12d-utils ๋ฐ ํฌํธ๋ฅผ ํฌํจํ ๋ฐ๋ชจ ์์ ์ธํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. Direct3D 12์ ๋ํ glxgears์ ํ๋ก์ ํธ ์ฝ๋๋ LGPLv2.1์ ๋ฐ๋ผ ๋ผ์ด์ผ์ค๊ฐ ๋ถ์ฌ๋์ด ๋ฐฐํฌ๋ฉ๋๋ค.
libvkd3d ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ทธ๋ํฝ ๋ฐ ๊ณ์ฐ ๊ธฐ๋ฅ, ๋๊ธฐ์ด ๋ฐ ๋ช ๋ น ๋ชฉ๋ก, ํธ๋ค ๋ฐ ํ ํธ๋ค, ๋ฃจํธ ์๋ช , ๋น์์ฐจ์ ์ก์ธ์ค, ์ํ๋ฌ, ๋ช ๋ น ์๋ช , ๋ฃจํธ ์์, ๊ฐ์ ๋ ๋๋ง, Clear ๋ฉ์๋๋ฅผ ํฌํจํ ๋๋ถ๋ถ์ Direct3D 12 ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. ) ๋ฐ ๋ณต์ฌ*(). libvkd3d-shader์์๋ ์ ฐ์ด๋ ๋ชจ๋ธ 4์ 5์ ๋ฐ์ดํธ์ฝ๋๋ฅผ ์ค๊ฐ SPIR-V ํํ์ผ๋ก ๋ณํํ๋ ์์ ์ด ๊ตฌํ๋ฉ๋๋ค. ์ ์ , ํฝ์ , ํ ์ ๋ ์ด์ , ์ปดํจํ ๋ฐ ๋จ์ ์ง์ค๋ฉํธ๋ฆฌ ์ ฐ์ด๋, ๋ฃจํธ ์๋ช ์ง๋ ฌํ ๋ฐ ์ญ์ง๋ ฌํ๋ฅผ ์ง์ํฉ๋๋ค. ์ ฐ์ด๋ ๋ช ๋ น์๋ ์ฐ์ , ์์ ๋ฐ ๋นํธ ์ฐ์ฐ, ๋น๊ต ๋ฐ โโ๋ฐ์ดํฐ ํ๋ฆ ์ ์ด ์ฐ์ฐ์, ์ํ๋ง, ์์ง ๋ฐ ๋ก๋ ๋ช ๋ น, ์์ ์๋ ์ก์ธ์ค ์์ (UAV, ์์ ์๋ ์ก์ธ์ค ๋ณด๊ธฐ)์ด ํฌํจ๋ฉ๋๋ค.
์ ๋ฒ์ ์์๋ DirectX 9.0๋ถํฐ ์ ๊ณต๋๋ HLSL(High-Level Shader Language)์ ์ ฐ์ด๋ ์ปดํ์ผ๋ฌ๊ฐ ๊ณ์ํด์ ๊ฐ์ ๋ฉ๋๋ค. HLSL ๊ด๋ จ ๊ฐ์ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ปดํจํ ์ ฐ์ด๋์ ๋ํ ์ด๊ธฐ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- ๊ตฌ์กฐ ๋ฐ ๋ฐฐ์ด๊ณผ ๊ฐ์ ๋ณตํฉ ๊ฐ์ฒด์ ์ด๊ธฐํ ๋ฐ ํ ๋น์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค.
- UAV(๋น์์ฐจ์ ์ก์ธ์ค)๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ค์ฒ ๋ฆฌ์์ค๋ฅผ ๋ก๋ํ๊ณ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํจ์ ์์ฑ์ ๋ํ ์ง์์ ์ถ๊ฐํ๊ณ ๋ด์ฅ ํจ์ asuint(), length(), Normalize()๋ฅผ ๊ตฌํํ์ต๋๋ค.
- ๋ถ๋ ์์์ ๋ชจ๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- UAV(์์๊ฐ ์ง์ ๋์ง ์์ ์ก์ธ์ค ํํ) ์ค๋ช ์์ ๋ํ ์์์ ์์ ์ ๋ํ๋ด๊ธฐ ์ํด VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_UAV_ATOMICS ํ๋๊ทธ๋ฅผ ๊ตฌํํ์ต๋๋ค.
์ถ์ฒ : opennet.ru