Wine ํ”„๋กœ์ ํŠธ๋Š” Direct3D 1.3 ๊ตฌํ˜„์„ ๊ฐ–์ถ˜ Vkd3d 12๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€