์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
Direct X์—์„œ ๋„˜์–ด์˜ด


DirectX ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€

1. ๊ฐœ์š”2. ์‚ฌ์šฉ
2.1. ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ DirectX2.2. ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ DirectX
3. ๊ตฌ์„ฑ ์š”์†Œ
3.1. ํ˜„์žฌ ์ง€์› ์ค‘์ธ ์ปดํฌ๋„ŒํŠธ
3.1.1. Direct3D3.1.2. Direct2D3.1.3. DirectWrite3.1.4. DXGI3.1.5. DirectCompute3.1.6. XAudio 23.1.7. DirectX Raytracing3.1.8. DirectML3.1.9. DirectPhysics
3.2. ๊ฐœ๋ฐœ ์ค‘๋‹จ๋œ ์ปดํฌ๋„ŒํŠธ
3.2.1. XInput3.2.2. DirectDraw3.2.3. DirectInput3.2.4. DirectSound3.2.5. DirectSound3D3.2.6. DirectMusic3.2.7. XACT3.2.8. DirectShow3.2.9. DirectX Media Objects3.2.10. DirectPlay3.2.11. D3DX
4. ๋ฒ„์ „๋ณ„ ์ •๋ณด ๋ฐ ์—ญ์‚ฌ5. ๊ธฐํƒ€6. ๊ด€๋ จ ๋ฌธ์„œ

1. ๊ฐœ์š”[ํŽธ์ง‘]

Microsoft DirectX.[1]



1995๋…„ 9์›” 30์ผ์— ์ฒซ ๋“ฑ์žฅํ•ด, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ Windows 95 ์‹œ์ ˆ๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•ด ์˜ค๊ณ  ์žˆ๋Š” ์œˆ๋„์šฐ์šฉ[2] ์ข…ํ•ฉ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.

์—ญ์‚ฌ ๋ฐ ๋ฒ„์ „๋ณ„ ์ƒ์„ธ ์ •๋ณด๋Š” DirectX/๋ฒ„์ „ ์ •๋ณด ์ฐธ์กฐ.

2. ์‚ฌ์šฉ[ํŽธ์ง‘]

2.1. ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ DirectX[ํŽธ์ง‘]

์ž์‹ ์ด ์ด์šฉํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ(์ฃผ๋กœ ๊ฒŒ์ž„)์ด ์š”๊ตฌํ•˜๋Š” DirectX ๋ฒ„์ „์ด Windows ์šด์˜ ์ฒด์ œ์—์„œ ์ด๋ฏธ ์ง€์›๋˜๊ณ  ์žˆ๋‹ค๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณ„ ๋‹ค๋ฅธ ์ž‘์—…์ด ํ•„์š”์—†๋‹ค. ๋‹ค๋งŒ Windows XP๊นŒ์ง€๋Š”[3] OS์—์„œ ๊ธฐ์กด ์ œ๊ณตํ•˜๋Š” ์ดˆ๊ธฐ ๋ฒ„์ „๋ถ€ํ„ฐ ์ถ”๊ฐ€ ์„ค์น˜๋ฅผ ํ†ตํ•œ ๋งˆ์ง€๋ง‰ ๋ฒ„์ „๊นŒ์ง€ ๋น„๊ต์  ์˜ค๋žซ๋™์•ˆ ์‚ฌํ›„ ์ง€์›๋˜์–ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ OS์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ฒ„์ „๋ณด๋‹ค ์ƒ์œ„ ๋ฒ„์ „์œผ๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ง์ ‘ ์„ค์น˜ํ•ด์ฃผ์ง€ ์•Š๋Š” ํ•œ DirectX ๋ฒ„์ „ ๋ฌธ์ œ๋ฅผ ๊ฒช๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํŒจํ‚ค์ง€์— ๋™๋ด‰๋œ ์ตœ์‹  DirectX๋‚˜ MS๊ฐ€ ๊ณต์‹ ๋ฐฐํฌํ•˜๊ณ  ์žˆ๋Š” DirectX ๋Ÿฐํƒ€์ž„์„ ๋‹ค์šด๋กœ๋“œ๋ฐ›์•„ ์„ค์น˜ํ•˜๋Š” ๊ฑธ๋กœ ์กฐ์น˜ํ•ด์•ผ ํ–ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๊ฒŒ์ž„ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์„ค์น˜ ๊ณผ์ •์—์„œ DirectX๊ฐ€ ์—†๊ฑฐ๋‚˜ ๊ตฌ๋ฒ„์ „์ผ ๊ฒฝ์šฐ DirectX๋ฅผ ๊ฐ™์ด ์„ค์น˜ํ•ด์ฃผ๊ธฐ๋„ ํ–ˆ๋Š”๋ฐ ์–ด๋–ค ๊ฒŒ์ž„์€ DirectX ์„ค์น˜ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜์ง€๋„ ์•Š๊ณ  ๊ฐ•์ œ๋กœ ์„ค์น˜ํ•˜๋Š” ๋ฐ”๋žŒ์— ๊ตฌ๋ฒ„์ „ DirectX๊ฐ€ ๋ฎ์–ด์”Œ์›Œ์ ธ์„œ OS์—์„œ ์˜จ๊ฐ– ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค. ๊ทธ๋‚˜๋งˆ Windows 2000๊ณผ XP๊ฐ€ ์„œ๋น„์Šค ํŒฉ์„ ํ†ตํ•ด DirectX ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์–ด ์ฐพ๋Š” ์ˆ˜๊ณ ๋กœ์›€์ด Windows 98์— ๋น„ํ•ด ๋œ ํ•˜๊ธด ํ–ˆ๋‹ค.

Windows Vista๋ถ€ํ„ฐ๋Š” ์—…๊ทธ๋ ˆ์ด๋“œ๋œ ํšŸ์ˆ˜๊ฐ€ 98, 98 SE, Me, 2000, XP์— ๋น„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ์ ์–ด์„œ ๊ทธ๋Ÿฐ ์ผ์„ ํ•ด์•ผ ํ•  ์ˆ˜๊ณ ๊ฐ€ ๋” ์ค„์–ด๋“ค๊ณ [4] 9.0c ์ด์ „ ๋ฒ„์ „์€ Vista ์ดํ›„ ๋ฒ„์ „์—๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์ปจ๋ฒ„ํŒ…[5]ํ•ด๋†“์œผ๋ฉด์„œ ๋ ˆ๊ฑฐ์‹œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜์ง€๋งŒ ๊ตฌ๋ฒ„์ „ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํ˜ธํ™˜์„ฑ์ด ์™„๋ฒฝํ•œ ๊ฑด ์•„๋‹ˆ๋ผ์„œ ์˜ค๋ž˜๋œ ๊ฒŒ์ž„์—์„œ ๊ฐ„ํ˜น DirectX ๊ด€๋ จ ์‹คํ–‰ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ฃผ๋กœ .dll ํŒŒ์ผ ๋ˆ„๋ฝ์ด ์›์ธ์ด๊ธฐ์— ํ•ด๋‹น ์ด๋ฆ„์˜ dll ํŒŒ์ผ์„ ์ฐพ์•„์„œ ๊ตฌํ•˜๋ฉด ๋˜์ง€๋งŒ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด MS์—์„œ ์ œ๊ณตํ•˜๋Š” DirectX ์ตœ์ข… ์‚ฌ์šฉ์ž ๋Ÿฐํƒ€์ž„(์•„์นด์ด๋ธŒ)์„ ํ†ตํ•ด ์„ค์น˜ํ•ด์ฃผ๋ฉด ๋Œ€๋ถ€๋ถ„ ํ•ด๊ฒฐ๋œ๋‹ค.

2.2. ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ DirectX[ํŽธ์ง‘]



2011๋…„ Windows 7 ์„œ๋น„์Šค ํŒฉ 1๊นŒ์ง€๋Š” DirectX ๋Ÿฐํƒ€์ž„์„ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ฑฐ์น  ํ•„์š”์—†์ด Windows ์—…๋ฐ์ดํŠธ๋ฅผ ํ†ตํ•ด ๊ตฌํ•  ์ˆ˜ ์žˆ์–ด๋„ Windows์™€ DirectX ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž์ฒด๋Š” ์„œ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— DirectX๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋ ค๋ฉด DirectX SDK๋ฅผ ๋ณ„๋„๋กœ ์„ค์น˜ํ•ด์•ผ ํ–ˆ์œผ๋‚˜ Windows 8์˜ ์ •์‹ ์ถœ์‹œ๋กœ๋ถ€ํ„ฐ 1๋‹ฌ ๋’ค์ธ 2012๋…„ 11์›”์— Windows 8.0 SDK๊ฐ€ ๋ฐœํ‘œ๋˜๋ฉด์„œ ๋งˆ์ง€๋ง‰๊นŒ์ง€ DirectX SDK์— ์žˆ๋˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๋งˆ์ € Windows SDK์— ์ „๋ถ€ ํฌํ•จ๋˜์–ด ๊ตณ์ด DirectX SDK๋ฅผ ์ฐพ์•„์„œ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์กŒ๋‹ค. ๋‹จ DirectX SDK์— ์‚ฌ์šฉํ–ˆ๋˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฑด ์•„๋‹ˆ๊ณ  ์ผ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ฏธ์ง€์›๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ[6] ๊ธฐ์กด์— DirectX SDK๋กœ ๊ฐœ๋ฐœํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋ฅผ Windows SDK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ํ•ด๋‹น ์ ˆ์ฐจ๋ฅผ ํ†ตํ•ด ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ๋‹ค. DirectShow๋ฅผ ๋น„๋กฏํ•œ ๋ฏธ๋””์–ด ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ ์ด๋ฏธ ์˜ค๋ž˜ ์ „๋ถ€ํ„ฐ Windows SDK์— ํก์ˆ˜๋˜์—ˆ๊ณ  Windows Vista๋ถ€ํ„ฐ๋Š” Media Foundation ์†Œ์† ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ๋„ ์ทจ๊ธ‰๋˜์—ˆ๋‹ค.

๋ฌผ๋ก  Windows (8.0 ์ดํ›„) SDK๊ฐ€ ๊ธฐ๋ณธ ์„ค์น˜ ๋ฐ ์„ค์ •๋˜๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2012 ์ดํ›„ ๋ฒ„์ „์˜ ํ™˜๊ฒฝ์ด๋ผ๋„ DirectX SDK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ DirectX SDK๋ฅผ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œ๋ฐ›์•„ ์„ค์น˜ํ•ด์„œ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ ์ง€์ •ํ•˜๋ฉด DirectX SDK ํ™˜๊ฒฝ์ฒ˜๋Ÿผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์ง€๋งŒ DirectX SDK์™€ Windows (8.0 ์ดํ›„) SDK๊ฐ€ ๋‘˜ ๋‹ค ์„ค์น˜๋œ ์ƒํƒœ์ด๋ฉด์„œ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์— ๋‘˜ ๋‹ค ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ๋” ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋‘ SDK์— ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์„œ๋กœ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ DirectX SDK๊ฐ€ ๋ ˆ๊ฑฐ์‹œ SDK๋กœ ๊ฒฉํ•˜๋˜์—ˆ๋”๋ผ๋„ 2012๋…„ ์ด์ „๋ถ€ํ„ฐ ๊ฐœ๋ฐœ ์ค‘์ธ ๊ฒŒ์ž„์ด๋‚˜ ๊ฐœ๋ฐœ๋˜์–ด ์ถœ์‹œ๋œ ๊ฒŒ์ž„๋“ค์€ ์ด๋ฏธ ๊ตฌ์ถ•๋œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•จ๋ถ€๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋Š” ์–ด๋ ค์›€์ด ์žˆ๋Š”๋ฐ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์–ด๋„ ์„ ํƒ๊ณผ ์ง‘์ค‘์— ์žˆ์–ด์„œ ์šฐ์„  ์ˆœ์œ„์— ๋ฐ€๋ ค ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๋Š” ๊ฐœ๋ฐœ์‚ฌ ์ฐจ์›์˜ ๋ณต์žกํ•œ ๋ฌธ์ œ์™€ ์˜ค๋žซ๋™์•ˆ DirectX SDK์— ๋ชธ ๋‹ด๊ฐ€์„œ ์ต์ˆ™ํ•ด์ง„ ํ„ฐ๋ผ 2012๋…„ ์ดํ›„ ์‹œ์ ์— ์‹ ๊ทœ๋กœ ๊ฐœ๋ฐœ๋˜๋Š” ํ”„๋กœ์ ํŠธ๋“ค๋„ DirectX SDK๋กœ ๊ฐœ๋ฐœํ•˜๋ ค๋Š” ์ผ๋ถ€ ๊ธฐ์„ฑ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž์˜ ์„ฑํ–ฅ์ด ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ.

DirectX SDK๋ฅผ ๋ถ™์žก๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž๋“ค๋„ ์–ธ์  ๊ฐ€ DirectX SDK๋ฅผ ๋ฒ„๋ ค์•ผ๊ฒ ์ง€๋งŒ DirectX 11.0 ๋ฒ„์ „์ด ์—ฌ์ „ํžˆ ํ˜„์—ญ์ธ๊ฑด ๋ฌผ๋ก ์ด๊ณ  ์ตœ์‹  ๋ฒ„์ „์ธ 12๋ณด๋‹ค๋„ ํ›จ์”ฌ ๋” ๋งŽ์ด ์‚ฌ์šฉ๋ ๋งŒํผ ๊ตณ์ด ๋ฒ„๋ ค์•ผ ํ•  ํ•„์š”์„ฑ์ด ์•ฝํ•ด์„œ DirectX SDK๋ฅผ ๋ฒ„๋ฆฌ๊ณ  Windows (8.0 ์ดํ›„) SDK๋กœ ๊ฐˆ์•„ํƒ€๊ธฐ๊นŒ์ง„ ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋žœ ์‹œ์ผ์ด ๊ฑธ๋ฆด ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ Windows 10 SDK๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” DirectX 12๋กœ ์™„์ „ํžˆ ๊ฐˆ์•„ํƒˆ ๋•Œ๊นŒ์ง„ DirectX SDK๋Š” ํ•œ๋™์•ˆ ๊ณ„์† ์‚ฌ์šฉ๋  ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถฉ๋Œ ์—†์ด DirectX SDK๋กœ ๊ฐœ๋ฐœํ•˜๋ ค๋ฉด DirectX ๊ณ„์—ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์™„์ „ํžˆ ํฌํ•จ๋œ Windows 8.0 ์ดํ›„ ๋ฒ„์ „์˜ SDK๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ์ œ์•ฝ ์กฐ๊ฑด์ด ๋ถˆ๊ฐ€ํ”ผํ•ด์ง€๋Š”๋ฐ ์ด๋ฅผ ๊ฐ–์ถ”๋ ค๋ฉด ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ž์ฒด๋ฅผ ์ฒ˜์Œ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ 2010 ์ด์ „ ๋ฒ„์ „์ด๋‚˜ ์ธ์Šคํ†จ๋Ÿฌ์—์„œ Windows SDK๋ฅผ ์•„์˜ˆ ํ•˜๋‚˜๋„ ์„ค์น˜ํ•˜์ง€ ์•Š๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” 2017, 2019 ๋ฒ„์ „ ์ค‘์— ํ•˜๋‚˜ ์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ณ  ์ด๋ฏธ 2012, 2013, 2015 ๋ฒ„์ „ ์ค‘์— ํ•˜๋‚˜๊ฐ€ ์„ค์น˜๋˜์–ด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ”„๋กœ์ ํŠธ ์†์„ฑ ๋ฉ”๋‰ด์—์„œ ํฌํ•จํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ ์„ค์ •์„ ๋ฐ”๊ฟ”์•ผ ๊ธฐ๋ณธ ์„ค์น˜ ๋ฐ ์„ค์ •๋œ Windows 8.0 ๋˜๋Š” 8.1 SDK๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒŒ ๋ณ€๊ฒฝ ๋ฐ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•  ๋•Œ๋งˆ๋‹ค ์†์„ฑ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ด์„œ ์†์„ฑ ์‹œํŠธ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.

๋ฐ˜๋Œ€๋กœ Windows (8.0 ์ดํ›„) SDK๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จ๋˜์ง€ ์•Š๋Š” ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค 2010 ํ™˜๊ฒฝ์—์„œ DirectX SDK๊ฐ€ ์•„๋‹Œ Windows 8.0 ๋˜๋Š” 8.1 ๋ฒ„์ „์˜ SDK๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. Windows SDK ์•„์นด์ด๋ธŒ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์„œ ์„ค์น˜ํ•œ ํ›„ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์˜ ํ”„๋กœ์ ํŠธ ์†์„ฑ์—์„œ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ ์ง€์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๋ณด๋‹ค ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ•ด๋‹น ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€์„ ์ฐธ์กฐ.

๋ฒ„์ „๋ณ„ Windows SDK์˜ ์š”๊ตฌ ์‚ฌ์–‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ตœ์‹  Windows SDK์˜ ์š”๊ตฌ ์‚ฌ์–‘, Windows SDK ๋ฒ„์ „๋ณ„ ์š”๊ตฌ ์‚ฌ์–‘

ํ˜„์žฌ Windows SDK ์•„์นด์ด๋ธŒ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์žฅ ์˜ค๋ž˜๋œ SDK๊ฐ€ 7.1 ๋ฒ„์ „์ด๊ธฐ ๋•Œ๋ฌธ์— 7.0 ์ด์ „ ๋ฒ„์ „์„ ์ฐพ์œผ๋ ค๋ฉด ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์˜ ๋‹ค์šด๋กœ๋“œ ์„ผํ„ฐ๋‚˜ ์ด๋ฅผ ์ฒจ๋ถ€(์—…๋กœ๋“œ)ํ•œ ๋ณด์œ ์ž์˜ ๊ฒŒ์‹œ๊ธ€ ๋“ฑ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

Windows SDK ์š”๊ตฌ ์‚ฌ์–‘
SDK ๋ฒ„์ „
๋ฐœํ‘œ ๋‚ ์งœ
Windows ๋ฒ„์ „
Visual Studio ๋ฒ„์ „
6.0[7]
2006๋…„ 10์›” 30์ผ
Windows XP ์„œ๋น„์Šค ํŒฉ 2 ์ด์ƒ
2005 ์ด์ƒ
6.0A
2007๋…„ 11์›” 19์ผ
Windows XP ์„œ๋น„์Šค ํŒฉ 2 ์ด์ƒ
2008์— ํฌํ•จ
6.1.6000[8]
2007๋…„ 3์›” 22์ผ
Windows XP ์„œ๋น„์Šค ํŒฉ 2 ์ด์ƒ
2005 ์ด์ƒ
6.1.6001[9]
2008๋…„ 2์›” 5์ผ
Windows XP ์„œ๋น„์Šค ํŒฉ 3 ์ด์ƒ
2005 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
7.0[10]
2009๋…„ 7์›” 24์ผ
Windows XP ์„œ๋น„์Šค ํŒฉ 3 ์ด์ƒ
2005 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
7.0A
2010๋…„ 4์›” 12์ผ
Windows XP ์„œ๋น„์Šค ํŒฉ 3 ์ด์ƒ
2010์— ํฌํ•จ
7.1[11]
2010๋…„ 5์›” 19์ผ
Windows XP ์„œ๋น„์Šค ํŒฉ 3 ์ด์ƒ
2005 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
7.1A
2012๋…„ 11์›” 26์ผ
Windows 7 ์ด์ƒ
2012 Update 1๋ถ€ํ„ฐ ํฌํ•จ (Windows XP ํƒ€๊ฒŸํŒ…์šฉ)
8.0
2012๋…„ 11์›” 15์ผ
Windows 7 ์ด์ƒ
2010 ์ด์ƒ
8.0A
2012๋…„ 9์›” 12์ผ
Windows 7 ์ด์ƒ
2012์— ํฌํ•จ
8.1
2013๋…„ 10์›” 17์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
2010 ์ด์ƒ
8.1A
2013๋…„ 10์›” 17์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
2013์— ํฌํ•จ
10.0.10240
2015๋…„ 7์›” 29์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
10.0.10586
2015๋…„ 11์›” 30์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
10.0.14393
2016๋…„ 8์›” 2์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
10.0.15063
2017๋…„ 4์›” 5์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
2017 ์ด์ƒ
10.0.16299
2017๋…„ 10์›” 10์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
2017 ์ด์ƒ
10.0.17134
2018๋…„ 5์›” 8์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
2017 ์ด์ƒ
10.0.17763
2018๋…„ 10์›” 2์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
2017 ์ด์ƒ
10.0.18362
2019๋…„ 4์›” 18์ผ
Windows 7 ์„œ๋น„์Šค ํŒฉ 1 ์ด์ƒ
2017 ์ด์ƒ


3. ๊ตฌ์„ฑ ์š”์†Œ[ํŽธ์ง‘]

DirectX๋Š” ํ•˜๋‚˜์˜ API๊ฐ€ ์•„๋‹Œ ์ปดํฌ๋„ŒํŠธ ํ˜•ํƒœ์˜ ์—ฌ๋Ÿฌ API๋“ค๋กœ ๊ตฌ์„ฑ๋œ "์ง‘ํ•ฉ์ฒด"์ด๋ฏ€๋กœ ๊ทธ ์ค‘์— ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ์ด๋ฆ„์ด ๋ฌด์—‡์ธ์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.

3.1. ํ˜„์žฌ ์ง€์› ์ค‘์ธ ์ปดํฌ๋„ŒํŠธ[ํŽธ์ง‘]

3.1.1. Direct3D[ํŽธ์ง‘]

DirectX 2.0๋ถ€ํ„ฐ ๋„์ž…๋œ 3D ๊ทธ๋ž˜ํ”ฝ API์ด์ž ๊ฐ€์žฅ ๊ธด ์—ญ์‚ฌ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ 3D ๊ทธ๋ž˜ํ”ฝ์˜ ์ค‘์š”์„ฑ์ด ์ปค์ง„ ์ดํ›„๋กœ ์ง€๊ธˆ๊นŒ์ง€ DirectX ์ „์ฒด๋ฅผ ํ†ตํ‹€์–ด์„œ ๊ฐ€์žฅ ๋†’์€ ๋น„์ค‘์„ ์ฐจ์ง€ํ•œ๋‹ค. ์ด ๋•Œ๋ฌธ์— DirectX 9.0 ์ดํ›„๋กœ ์ƒˆ๋กœ์šด ๋ฉ”์ด์ € ๋ฒ„์ „์„ ์†Œ๊ฐœํ•  ๋•Œ Direct3D ์œ„์ฃผ๋กœ ๊ฐœ์„ ๋˜๋‹ค ๋ณด๋‹ˆ Direct3D๋งŒ ๋ถ€๊ฐ์‹œํ‚ค๋Š” ๊ฒฝํ–ฅ์ด ๊ฐ•ํ•ด์กŒ๋‹ค. ๊ทธ๋™์•ˆ DirectX SDK์— ์†Œ์†๋œ ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜€์œผ๋‚˜ Windows 8๋ถ€ํ„ฐ๋Š” ๋…๋ฆฝ๋˜์–ด ์žˆ๋˜ DirectX SDK ์ž์ฒด๊ฐ€ Windows SDK์— ํฌํ•จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์†Œ์†์ด ์˜ฎ๊ฒจ์ง€๋ฉด์„œ ์ผ๋ถ€ ์‚ฌ์šฉ๋ฒ•๊ณผ ๋ฌธ๋ฒ•์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์€ Direct3D 12๋กœ Direct3D 11 ๊ณ„์—ด ๊ธฐ์ค€์œผ๋กœ๋Š” Direct3D 11.4.

3.1.2. Direct2D[ํŽธ์ง‘]

DirectX 11๋ถ€ํ„ฐ ๋„์ž…๋œ 2D ๊ทธ๋ž˜ํ”ฝ API๋กœ DirectX SDK์™€ Windows SDK(7.0 ๋ฒ„์ „ ์ด์ƒ)์— ๋‘˜ ๋‹ค ์กด์žฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค.[12] ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” Direct3D๋ฅผ ๊ฑฐ์ณ์„œ ๋™์ž‘ํ•˜๋Š” ์›๋ฆฌ๋ผ์„œ[13] ์ดˆ์ฐฝ๊ธฐ์— ์กด์žฌํ–ˆ๋˜ DirectDraw์™€ GDI/GDI+ ๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ํฌ์ง€์…˜์ด๊ธด ํ•˜๋‹ค. DirectX 8.0๋ถ€ํ„ฐ Direct3D๋กœ๋„ 2D ๊ทธ๋ž˜ํ”ฝ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์กด์žฌ๊ฐ์ด ์•ฝํ•˜์ง€๋งŒ 2D ๊ทธ๋ž˜ํ”ฝ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๊ฒŒ์ž„์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ๊ฐœ๋ฐœ ๋‚œ์ด๋„๊ฐ€ Direct3D๋ณด๋‹ค ๋” ์‰ฝ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์ตœ๊ทผ์— ๋“ค์–ด์„œ๋Š” Direct3D์— ์žˆ๋˜ ์ผ๋ถ€ ๊ธฐ์ˆ ๋“ค์„ 2D์— ์ ์šฉ์‹œ์ผœ ๋ฒ„์ „์„ ๊ฑฐ๋“ญํ•  ๋•Œ๋งˆ๋‹ค ํ€„๋ฆฌํ‹ฐ๊ฐ€ ์ƒ์Šน๋˜๊ณ  ์žˆ๋‹ค. Direct2D๋ฅผ ๊ทธ๋ž˜ํ”ฝ ํ•˜๋“œ์›จ์–ด๋กœ๋งŒ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ถŒ์žฅ ์‚ฌ์–‘์ด DirectX 10.1์ด์ง€๋งŒ[14] ํ•˜์œ„ ํ˜ธํ™˜ ๋ฒ„์ „์ธ DirectX 10.0๊นŒ์ง„ ๋ฌธ์ œ์—†์ด ๋Œ๋ฆด ์ˆ˜ ์žˆ๊ณ  ๊ธฐ๋ฐ˜์ด ๋‹ค๋ฅธ DirectX 9.0์—์„œ๋„ CPU ์‚ฌ์šฉ๋ฅ ์ด ๋†’์•„์ง€๊ธด ํ•˜์ง€๋งŒ Direct3D๋ฅผ ์ด์šฉํ•˜๋ฉด ๋Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

Windows 8.0 SDK, Directx 11.1๋ถ€ํ„ฐ๋Š” Direct2D๋„ 1.1๋กœ ํŒ์˜ฌ๋ฆผ๋˜๋ฉด์„œ 2D ๊ทธ๋ž˜ํ”ฝ์ž„์—๋„ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์„ ์ง€์›ํ•ด ๊ธฐ์กด 1.0๋ณด๋‹ค ๋™์ผ์ž์›์—์„œ ํผํฌ๋จผ์Šค๊ฐ€ 5๋ฐฐ๋‚˜ ํฌ๊ฒŒ ์˜ฌ๋ž๋‹ค. Windows 8.1 SDK, Directx 11.1๋ถ€ํ„ฐ๋Š” Direct2D๋„ 1.2๋กœ ํŒ์˜ฌ๋ฆผ๋˜๋ฉด์„œ 3D ๊ทธ๋ž˜ํ”ฝ์—์„œ๋‚˜ ์ ‘ํ•˜๋Š” ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ ๊ฐœ๋…์„ Direct2D์— ์ ‘๋ชฉ์‹œํ‚ค๋ฉด์„œ ํ™œ์šฉ๋„๊ฐ€ ๋”์šฑ ๋„“์–ด์กŒ๋‹ค. Windows 10 SDK ์ดํ›„์—๋Š” ๋Œ€๊ฒฉ๋ณ€๋˜์–ด ๋ฉ”์‰ฌ ๊ธฐ๋ฐ˜์˜ ๊ทธ๋ผ๋””์–ธํŠธ, ๋ฒกํ„ฐ ๊ธฐ๋ฐ˜์˜ SVG ํŒŒ์ผ ํ˜ธํ™˜ ๋“ฑ์„ ๋น„๋กฏํ•ด์„œ ๊ธฐ๋Šฅ์ด ๋งค์šฐ ๋‹ค์–‘ํ•ด์กŒ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์€ Direct2D 1.3์œผ๋กœ Windows SDK 10.0.15063 ์ดํ›„๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ์—†๋Š” ์ƒํƒœ.

UI์—์„œ์˜ ๊ทธ๋ž˜ํ”ฝ์  ์š”์†Œ๋กœ๋Š” GDI(+)๊ฐ€ ์ปค๋„ ๋ ˆ๋ฒจ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ฒ˜๋ฆฌ๋˜๊ณ  ์„ธ์…˜๋‹น 65535๊ฐœ๋กœ ํ•ธ๋“ค์ด ์ œํ•œ๋˜์ง€๋งŒ, Direct2D์˜ ๊ฒฝ์šฐ GDI์˜ ํ•ธ๋“ค ์ œํ•œ์ด ์—†๋Š”๋ฐ๋‹ค GPU ๊ฐ€์†์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๋ฉฐ ์•ˆํ‹ฐ ์•จ๋ฆฌ์–ด์‹ฑ ๋“ฑ ํ’ˆ์งˆ ๋˜ํ•œ ์šฐ์ˆ˜ํ•˜๋‹ค.

3.1.3. DirectWrite[ํŽธ์ง‘]

DirectX 11๋ถ€ํ„ฐ ๋„์ž…๋œ 2D ๊ทธ๋ž˜ํ”ฝ API์ด์ž ๋ฌธ์ž ๋ฐ ๊ธ€๊ผด ์ „์šฉ API๋กœ Direct2D์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์Œ๋‘๋งˆ์ฐจ ๊ฒฉ์œผ๋กœ ํŒ์˜ฌ๋ฆผ๋˜๊ณ  ์žˆ๋‹ค. Windows 8๋ถ€ํ„ฐ๋Š” Direct2D์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์—ญ์‹œ DirectX SDK ์†Œ์†์—์„œ Windows SDK ์†Œ์†์œผ๋กœ ์˜ฎ๊ฒจ์กŒ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์€ DirectWrite 1.3์œผ๋กœ Direct2D์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Windows SDK 10.0.15063 ์ดํ›„๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ์—†๋‹ค.

Direct2D์™€ ํ•จ๊ป˜ ๊ธฐ์กด์˜ GDI/GDI+๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•˜์˜€๋‹ค. GDI์— ๋น„ํ•ด ํ•˜๋“œ์›จ์–ด๋กœ ๊ฐ€์†๋˜๋Š” ํฐํŠธ ๋ Œ๋”๋ง์ด๋‚˜ ํฐํŠธ์˜ ํšŒ์ „ ๋“ฑ์— GPU ๊ฐ€์†์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ๋˜ํ•œ ๊ธฐ์กด์˜ GDI/GDI+ ๊ธฐ๋ฐ˜ ํฐํŠธ ๋ Œ๋”๋ง์€ ์‹œ์Šคํ…œ ๋ ˆ๋ฒจ์—์„œ ํด๋ฆฌ์–ดํƒ€์ž…์ด ์ „์—ญ์œผ๋กœ ์ ์šฉ๋˜๋‚˜ DirectWrite์˜ ๊ฒฝ์šฐ ํฐํŠธ ํžŒํŒ…์— ๊ธฐ์กด ํด๋ฆฌ์–ดํƒ€์ž…์€ ๋ฌผ๋ก  HiDPI ๋””์Šคํ”Œ๋ ˆ์ด์—์„œ ๊ถŒ์žฅ๋˜๋Š” ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์ด ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ 10/11[15], ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์—ฃ์ง€, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์˜คํ”ผ์Šค 2016 ์ด์ƒ์˜ ๋ฒ„์ „[16]์ด๋‹ค.

Direct2D์™€ DirectWrite๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ Windows 10์˜ ๋ ˆ๊ฑฐ์‹œ HiDPI ์—…์Šค์ผ€์ผ๋ง์€ ๋™์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

3.1.4. DXGI[ํŽธ์ง‘]

DirectX 10๋ถ€ํ„ฐ ๋„์ž…๋œ ์ปค๋„ ๋ชจ๋“œ ๋“œ๋ผ์ด๋ฒ„ - ๊ทธ๋ž˜ํ”ฝ ํ•˜๋“œ์›จ์–ด ๊ฐ„์˜ ํ†ต์‹ [17]์„ ์œ„ํ•œ API๋กœ ๊ณผ๊ฑฐ์—๋Š” Direct3D ๋Ÿฐํƒ€์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ „๋‹ดํ–ˆ์œผ๋‚˜ ์ถ”ํ›„์— ๋“ฑ์žฅํ•  ํ›„์† ๋ฒ„์ „์— ํฌํ•จ๋  ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋“ค๊ณผ์˜ ์ƒํ˜ธ ํ˜ธํ™˜์„ฑ ๋ฐ ์œ ์—ฐ์„ฑ์„ ์œ„ํ•ด ๋ณ„๋„์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ถ„๋ฆฌ๋˜์—ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์€ Windows SDK 10.0.15063๋ถ€ํ„ฐ ๋„์ž…๋œ DXGI 1.6.

3.1.5. DirectCompute[ํŽธ์ง‘]

DirectX 11๋ถ€ํ„ฐ ๋„์ž…๋œ GPGPU์šฉ API๋กœ GPGPU๋ฅผ ์œ„ํ•œ API ์ž์ฒด๋Š” ์ด๋ฏธ ์„œ๋“œํŒŒํ‹ฐ API์ธ NVIDIA์˜ CUDA์™€ ์˜คํ”ˆ์†Œ์Šค ์žฌ๋‹จ์ธ ํฌ๋กœ๋…ธ์Šค ๊ทธ๋ฃน์—์„œ ์ •์‹์œผ๋กœ ๋ฐœํ‘œ๋œ OpenCL์ด ๋จผ์ € ์•Œ๋ ค์กŒ๋‹ค๊ฐ€ ๋Œ€์„ธ์— ๋”ฐ๋ผ MS๋„ DirectX ์ฐจ์›์—์„œ ์ •์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ์…ฐ์ด๋” ๋ชจ๋ธ 4.0 ์ด์ƒ์„ ์š”๊ตฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— DirectX 10์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ธฐ๋Šฅ์ด ์ผ๋ถ€ ์ œํ•œ๋œ๋‹ค.

3.1.6. XAudio 2[ํŽธ์ง‘]

DirectX 10.1๋ถ€ํ„ฐ ๋„์ž…๋œ ์ €์ˆ˜์ค€ ์–ธ์–ด ๊ธฐ๋ฐ˜์˜ ์‚ฌ์šด๋“œ/์˜ค๋””์˜ค API๋กœ XInput๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ XBOX 360์˜ XAudio์—์„œ ๋น„๋กฏ๋˜์—ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์€ XAudio 2.9

3.1.7. DirectX Raytracing[ํŽธ์ง‘]

DirectX 12(Version 1809)๋ถ€ํ„ฐ ๋„์ž…๋œ ๋ ˆ์ดํŠธ๋ ˆ์ด์‹ฑ์šฉ API๋กœ GeForce 20 RTX ์‹œ๋ฆฌ์ฆˆ์™€ TITAN V ๋“ฑ ํ•˜๋“œ์›จ์–ด ๋ ˆ์ดํŠธ๋ ˆ์ด์‹ฑ ์ฝ”์–ด๊ฐ€ ์—†์–ด๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ํผํฌ๋จผ์Šค๋Š” ๋‹น์—ฐํžˆ ๋ ˆ์ดํŠธ๋ ˆ์ด์‹ฑ ์ „์šฉ ์ฝ”์–ด๊ฐ€ ์—†์ด๋Š” ๋งŽ์ด ๋–จ์–ด์ง„๋‹ค.

3.1.8. DirectML[ํŽธ์ง‘]

DirectX 12(Version 1903)๋ถ€ํ„ฐ ๋„์ž…๋œ ๊ธฐ๊ณ„ ํ•™์Šต์šฉ API๋กœ DirectX 12 ์ง€์›๋งŒ ์ถฉ์กฑ๋œ๋‹ค๋ฉด NVIDIA์˜ ํ…์„œ ์ฝ”์–ด๊ฐ™์€ ์ „์šฉ ์—ฐ์‚ฐ ์žฅ์น˜๊ฐ€ ์—†์–ด๋„ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. WinML์˜ ๊ตฌ์„ฑ ์š”์†Œ์ด๊ธฐ๋„ ํ•˜๋‹ค.

3.1.9. DirectPhysics[ํŽธ์ง‘]

ํ•˜๋ณต ์—”์ง„์„ ์ธ์ˆ˜ํ•˜์—ฌ ์ œ์ž‘๋˜๋Š” ๋ฌผ๋ฆฌ์—”์ง„ ์ปดํฌ๋„ŒํŠธ๋‹ค

3.2. ๊ฐœ๋ฐœ ์ค‘๋‹จ๋œ ์ปดํฌ๋„ŒํŠธ[ํŽธ์ง‘]

๊ฐœ๋ฐœ ์ค‘๋‹จ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋”์ด์ƒ์˜ ๊ฐœ์„ ํŒ์„ ๋ณผ ์ˆ˜ ์—†์ง€๋งŒ ๊ฐœ๋ฐœ๋งŒ ์ค‘๋‹จ๋˜์—ˆ์„ ๋ฟ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ๋‹ค. ๋‹จ ๊ถŒ์žฅํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๊ตฌํ˜• ์‹œ์Šคํ…œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ๋ถ€๋“์ด ์‚ฌ์šฉํ•ด์•ผ ํ•  ์ƒํ™ฉ์ด ์•„๋‹Œ ์ด์ƒ ์ตœ์‹  ์‹œ์Šคํ…œ์ด๋ผ๋ฉด ๊ฐ€๊ธ‰์  ํ˜„์—ญ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค. ์ผ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Windows Vista ์ดํ›„ ๋ฒ„์ „๋ถ€ํ„ฐ ์•„์˜ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

์ฐธ๊ณ ๋กœ ๋ฏธ๋””์–ด ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ Windows 8์ด ์ถœ์‹œ๋˜๊ธฐ ์ด์ „๋ถ€ํ„ฐ Windows SDK์— ์žˆ๋˜ Media Foundation์œผ๋กœ ์ผ์ฐŒ๊ฐ์น˜ ํก์ˆ˜๋˜์—ˆ๋‹ค.

3.2.1. XInput[ํŽธ์ง‘]

DirectX 10.1๋ถ€ํ„ฐ ๋„์ž…๋œ ๊ฒŒ์ž„ํŒจ๋“œ ์ „์šฉ ์ž…์ถœ๋ ฅ API๋กœ XBOX 360์— ์‚ฌ์šฉ๋œ XInput์„ PC ํ”Œ๋žซํผ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ฐœ์„ ๋˜์—ˆ์œผ๋‚˜ ํƒœ์ƒ์ด XBOX 360์—์„œ ์ถœ๋ฐœํ•œ ์ปดํฌ๋„ŒํŠธ์ด๋‹ค๋ณด๋‹ˆ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ตœ์†Œ DirectX 9.0 ์ด์ƒ์˜ ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค. Windows 8.1์— ํฌํ•จ๋œ Xinput 1.4 ๋ฒ„์ „์„ ๋งˆ์ง€๋ง‰์œผ๋กœ Windows.Gaming.Input ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋Œ€์ฒด๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ์ œ์™ธํ•˜๋ฉด WGI๋กœ ๊ฐœ๋ฐœํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋‹ค. WGI์™€ XInput์˜ ์ฐจ์ด๋Š” ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ, ์ตœ๋Œ€ 8๊ฐœ์˜ ๋””๋ฐ”์ด์Šค ์ง€์›, ์ž„ํŽ„์Šค ํŠธ๋ฆฌ๊ฑฐ ์ง€์› ๋“ฑ์˜ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋œ ์ ์ด๋‹ค.

3.2.2. DirectDraw[ํŽธ์ง‘]

์ดˆ์ฐฝ๊ธฐ๋ถ€ํ„ฐ DirectX 7๊นŒ์ง€ ๊ฐœ๋ฐœ๋œ 2D ๊ทธ๋ž˜ํ”ฝ API๋กœ 2D ๊ทธ๋ž˜ํ”ฝ ๊ฒŒ์ž„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์žˆ์–ด์„œ ํ•„์ˆ˜์ ์ธ ์ปดํฌ๋„ŒํŠธ์˜€์œผ๋‚˜ 2D์™€ 3D๊ฐ€ ํ†ตํํ•ฉ๋œ DirectX 8.0๋ถ€ํ„ฐ ์ œ๊ฑฐ๋˜๋ฉด์„œ ์‚ฌ์šฉ๋ฅ ์ด ์ ์ฐจ ๋ฐ˜๊ฐ•์ œ์ ์œผ๋กœ ๋–จ์–ด์กŒ๊ณ  ํ›—๋‚ ์— ๋“ฑ์žฅํ•œ Direct2D๊ฐ€ 2D ๊ทธ๋ž˜ํ”ฝ API์˜ ์ž๋ฆฌ๋ฅผ ์ด์–ด๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฒŒ์ž„์—…๊ณ„์˜ ์†Œ์‹์— ๋”ฐ๋ฅด๋ฉด ์ด ๋•Œ ๋ฏธ๊ตญ์˜ ๊ฐœ๋ฐœ์ž๋“ค ์ค‘์—์„œ๋„ ๋ฐ˜๋ฐœ์ด ์ƒ๋‹นํ–ˆ๋‹ค๊ณ  ์ „ํ•ด์ง„๋‹ค.

์œˆ๋„์šฐ 7 ์ด์ƒ์˜ OS์—์„œ ๊ณ ์ „ ๊ฒŒ์ž„์„ ํ”Œ๋ ˆ์ดํ•  ๋•Œ ํ™”๋ฉด์˜ ์ƒ‰๊น”์ด ๊นจ์ ธ ๋ณด์ธ๋‹ค๋ฉด ์‹ญ์ค‘ํŒ”๊ตฌ DirectDraw์— ๊ด€๋ จ๋œ ๋ฌธ์ œ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ํฌ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด ์Šคํƒ€ํฌ๋ž˜ํ”„ํŠธ(~ 1.16.1) ๊ฐ™์€ ๊ฒŒ์ž„๋“ค์ด ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด๋ณด๋„๋ก ํ•˜์ž. DirectDraw Compatibility Tool์ด๋ผ๋Š” ๊ฑด๋ฐ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•ด ํ™”๋ฉด์˜ ์ƒ‰์ด ๊นจ์ง€๋Š” ๊ฒƒ์„ ๋ง‰์•„์ค€๋‹ค.

3.2.3. DirectInput[ํŽธ์ง‘]

XInput์ด ๋“ฑ์žฅํ•˜๊ธฐ ์ „ ๊นŒ์ง€ DirectX 1.0 ์ดˆ๊ธฐ๋ถ€ํ„ฐ ์กด์žฌํ–ˆ๋˜ ์ž…์ถœ๋ ฅ์šฉ API.
XInput๊ณผ WGI๊ฐ€ ๊ฒŒ์ž„ํŒจ๋“œ๋งŒ ์ง€์›ํ•˜๋Š”๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ํ‚ค๋ณด๋“œ์™€ ๋งˆ์šฐ์Šค ์ž…๋ ฅ ์žฅ์น˜ ๋˜ํ•œ DirectInput์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์˜€๋‹ค(๋‹ค๋งŒ DirectX 3.0๋ถ€ํ„ฐ). DirectX 5.0์—์„œ๋Š” ์ปจํŠธ๋กค๋Ÿฌ ์ง„๋™ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.
์ดˆ์ฐฝ๊ธฐ ๊ฒŒ์ž„ํŒจ๋“œ๋“ค๊ณผ XInput์„ ์‚ฌ์šฉํ•˜๋Š” XBox 360 ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ๊นŒ์ง€ ์ด ๋‘˜์€ ํ˜ผ์šฉ๋˜์—ˆ์œผ๋ฉฐ ๋ ˆ์ด์‹ฑ ํœ , ๊ฒŒ์ž„ํŒจ๋“œ ์–ด๋Œ‘ํ„ฐ(๋“€์–ผ์‡ผํฌ โ†’ PC USB๋ณ€ํ™˜๊ธฐ ๋“ฑ), ๊ฑด์ŠˆํŒ… ์กฐ์ด์Šคํ‹ฑ ๋“ฑ ์ƒ๋‹นํžˆ ๋งŽ์€ ์ œํ’ˆ๋“ค์ด ์ด API๋ฅผ ์ง€์›ํ•œ๋‹ค.

3.2.4. DirectSound[ํŽธ์ง‘]

DirectX 1.0 ์ดˆ๊ธฐ๋ถ€ํ„ฐ ์กด์žฌํ–ˆ๋˜ ์‚ฌ์šด๋“œ API. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์†Œ๋ฆฌ๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฏน์‹ฑ ๊ธฐ๋Šฅ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋ฉฐ ์ƒ˜ํ”Œ๋ง ์ฃผํŒŒ์ˆ˜ ๋ณ€๊ฒฝ, ๋ณผ๋ฅจ ์กฐ์ ˆ ๋“ฑ ๊ธฐ๋ณธ์ ์ธ ์˜ค๋””์˜ค ์‹ ํ˜ธ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜์—ˆ๋‹ค. ์‹ ๊ทœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋Š” DirectX 8.0๊นŒ์ง€์˜€์œผ๋ฉฐ 9.0์—์„œ๋Š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ์—†์ด ์„ฑ๋Šฅ๋งŒ ๊ฐœ์„ ๋˜์—ˆ๊ณ  ๊ทธ ๋’ค๋กœ๋Š” ๋”์ด์ƒ ๋ฒ„์ „์—…์ด ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ํ˜„์žฌ๋Š” XAudio2๋กœ ๋Œ€์ฒด๋˜์—ˆ๋‹ค.

Windows XP๊นŒ์ง€๋Š” ASIO ๊ฐ™์€ ํŠน์ˆ˜ํ•œ API๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ๋ชจ๋“  ์†Œ๋ฆฌ๊ฐ€ ์ด DirectSound๋ฅผ ๊ฑฐ์ณ์„œ ์ถœ๋ ฅํ–ˆ๋Š”๋ฐ ์ด ๊ณผ์ •์—์„œ 50 ~ 100 ms ์ˆ˜์ค€์˜ ๋”œ๋ ˆ์ด๊ฐ€ ๋ฐœ์ƒํ–ˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์— ๊ฐ•์ œ ๋ฆฌ์ƒ˜ํ”Œ๋ง๊นŒ์ง€ ๋ฐœ์ƒํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— Low Latency๊ฐ€ ์š”๊ตฌ๋˜๋Š” ์ž‘์—…(์ž‘๊ณก ๋“ฑ)์ด๋‚˜ Bit Perfect๊ฐ€ ์š”๊ตฌ๋˜๋Š” ์ž‘์—…(Hi-Fi ์Œ์› ๋“ฑ)์— ์‚ฌ์šฉํ•˜๊ธฐ ๋ถ€์ ํ•ฉํ–ˆ๋‹ค. ๋˜ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํŠน์ˆ˜ํ•œ ์„ ์–ธ์„ ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉด Kernel Wave Audio Mixer(์ดํ•˜ KMixer)๋ผ๋Š” ๊ฒƒ์„ ๊ฑฐ์ณค๋Š”๋ฐ, ์ด ๊ณผ์ •์—์„œ 100 ~ 200 ms ์ •๋„์˜ ๋”œ๋ ˆ์ด๊ฐ€ ์ถ”๊ฐ€๋กœ ๋ฐœ์ƒํ•ด์„œ ์•…๋ช…์ด ๋†’์•˜๋‹ค. ๊ฒฐ๊ตญ Windows Vista๋ถ€ํ„ฐ๋Š” DirectSound์™€ KMixer๋ฅผ ์™„์ „ํžˆ ์—†์• ๊ณ  WASAPI๋กœ ๋Œ€์ฒดํ–ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ด ๊ณผ์ •์—์„œ ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ๊ธฐ๋Šฅ๊นŒ์ง€ ์—†์• ๋ฒ„๋ฆฌ๋Š” ๋ฐ”๋žŒ์— EAX๊ฐ€ ์•ˆ ๋จน๊ฒŒ ๋˜์—ˆ๋‹ค.

3.2.5. DirectSound3D[ํŽธ์ง‘]

DirectX 3.0๋ถ€ํ„ฐ ์กด์žฌํ–ˆ๋˜ 3D ์‚ฌ์šด๋“œ API. DirectX 5.0๋ถ€ํ„ฐ๋Š” ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์„ ์ง€์›ํ•˜๋„๋ก ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค. Creative์˜ EAX๋„ DirectSound3D๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ™•์žฅ API์— ๊ฐ€๊น๋‹ค.
Windows Vista๋ถ€ํ„ฐ ์˜ค๋””์˜ค ๋“œ๋ผ์ด๋ฒ„ ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋€Œ๊ณ  WASAPI์˜ ๋„์ž…์œผ๋กœ ๋”์ด์ƒ ์‚ฌ์šด๋“œ์˜ ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์„ ์ง€์›ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๋˜์—ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— EAX ์ง€์›์ด ๋ง‰ํžˆ๋Š” ๋“ฑ ๊ฒŒ์ž„ ์ชฝ์—์„œ ๋Œ€ํ˜ผ๋ž€์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ์‚ฌ์‹ค์ƒ ํ˜„์žฌ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” API๊ณ  DirectX 10๋ถ€ํ„ฐ ์—†์–ด์กŒ๋‹ค.

3.2.6. DirectMusic[ํŽธ์ง‘]

์›๋ž˜๋Š” Interactive Music Architecture๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ActiveX ์ปจํŠธ๋กค ์ค‘ ํ•˜๋‚˜๋กœ ์†Œ๊ฐœ๋˜์—ˆ๋‹ค๊ฐ€ DirectX 6.1๋ถ€ํ„ฐ DirectMusic์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ •์‹์œผ๋กœ ์ˆ˜๋ก๋œ API. ๊ธฐ๋ณธ์ ์œผ๋กœ DirectSound์™€ ๋น„์Šทํ•œ ์ผ์„ ํ•˜์ง€๋งŒ MIDI๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•œ BGM ์—ฐ์ถœ ๊ธฐ๋Šฅ์ด ์ฃผ๋ ฅ์ธ ๊ฒƒ์ด ํŠน์ง•. ์›๋ž˜์˜ ์˜๋„๋Š” ๊ฒŒ์ž„์˜ ์ „๊ฐœ์— ๋”ฐ๋ผ ์‹ค์‹œ๊ฐ„์œผ๋กœ MIDI ์Œ์•…์„ ์ƒ์„ฑํ•ด์„œ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š”(์‹ค์‹œ๊ฐ„ BGM ์ž‘๊ณก) ๋‚˜๋ฆ„ ์‹ ๋ฐ•ํ•œ ๋น„์ „์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์ด๋ฏธ ์ด API๊ฐ€ ๋“ฑ์žฅํ–ˆ์„ ๋•Œ๋ถ€ํ„ฐ MIDI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ์ž„์ด ๊ธ‰์†ํ•˜๊ฒŒ ์ค„์–ด๋“ค๋˜ ์‹œ๊ธฐ์˜€๊ณ  ๊ฒฐ๊ตญ DirectX 8.0๋ถ€ํ„ฐ DirectSound์ชฝ์œผ๋กœ ํ†ตํ•ฉ๋˜์—ˆ์œผ๋ฉฐ ์ดํ›„ ๋‹จ์ข…๋˜์—ˆ๋‹ค. Windows Vista๋ถ€ํ„ฐ๋Š” ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

3.2.7. XACT[ํŽธ์ง‘]

Cross-platform Audio Creation Tool์˜ ์ด๋‹ˆ์…œ ์•ฝ์ž๋กœ 2002๋…„์— ์ฒ˜์Œ ์†Œ๊ฐœ๋œ ๊ณ ์ˆ˜์ค€ ์–ธ์–ด ๊ธฐ๋ฐ˜์˜ ์‚ฌ์šด๋“œ/์˜ค๋””์˜ค API. ๋ณธ๋ž˜ Xbox Audio Creation Tool์˜ ์•ฝ์ž๋กœ์จ XBOX ๊ฒŒ์ž„๊ธฐ๋ฅผ ์œ„ํ•œ ์ปดํฌ๋„ŒํŠธ์˜€๋‹ค๊ฐ€ ์ฝ˜์†” ๊ฒŒ์ž„๊ธฐ์™€ PC์™€์˜ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์ด๋ผ๋Š” ์˜๋ฏธ๋กœ ํ™•์žฅ๋˜์–ด ์ง€๊ธˆ์˜ ์šฉ์–ด๋กœ ์ž๋ฆฌ์žก์•˜๋‹ค. XACT3 ๋ฒ„์ „์„ ๋งˆ์ง€๋ง‰์œผ๋กœ Windows 8๋ถ€ํ„ฐ๋Š” ๋”์ด์ƒ ์‚ฌํ›„ ์ง€์›์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๊ณ  ์žˆ๋‹ค.

XNA์—์„œ๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จ๋˜์–ด ์žˆ์—ˆ๋‹ค.

3.2.8. DirectShow[ํŽธ์ง‘]

Windows์šฉ ๋ฏธ๋””์–ด ์ŠคํŠธ๋ฆฌ๋ฐ API๋กœ 1996๋…„ 3์›”์— ๋ฐœํ‘œ๋œ ActiveMovie๊ฐ€ 1997๋…„ DirectX 5.0๋ถ€ํ„ฐ DirectX์˜ ์ผ๋ถ€๋กœ ํŽธ์ž…๋˜๋ฉด์„œ DirectShow๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ณ ํ’ˆ์งˆ์˜ ๋น„๋””์˜ค ๋ฐ ์˜ค๋””์˜ค์˜ ๋””์ฝ”๋”ฉ, ์ธ์ฝ”๋”ฉ, ์บก์ฒ˜๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ  Windows Media Encoder 9์—์„œ๋„ ์‚ฌ์šฉ๋˜์—ˆ์œผ๋ฉฐ ๊ณต์šฉ ์ฝ”๋ฑ์ฒ˜๋Ÿผ ํ•œ ๋ฒˆ ์„ค์น˜ํ•ด๋‘๋ฉด MF๋ฅผ ์“ด ํ”„๋กœ๊ทธ๋žจ์€ ์–ป์–ด์“ธ ์ˆ˜ ์žˆ์—ˆ์œผ๋‚˜ ๊ฐœ๋ฐœ์€ ๋” ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ๋“ฏ ํ•˜๋‹ค.
๊ณผ๊ฑฐ์—๋Š” DirectX SDK์— ํฌํ•จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜€์œผ๋‚˜ 2005๋…„ 2์›” ๋ฒ„์ „์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ทธ ์ดํ›„๋Š” Windows SDK ์†Œ์†์œผ๋กœ ์˜ฎ๊ฒจ์กŒ์œผ๋ฉฐ Windows Vista๋ถ€ํ„ฐ๋Š” Media Foundation์œผ๋กœ ๋Œ€์ฒด๋˜๊ณ  ์žˆ๋‹ค.

3.2.9. DirectX Media Objects[ํŽธ์ง‘]

COM ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๋™์˜์ƒ ๋””์ฝ”๋”/์ธ์ฝ”๋” ๋ฐ ํšจ๊ณผ์™€ ๊ฐ™์€ ์ŠคํŠธ๋ฆฌ๋ฐ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ API. ๋™์˜์ƒ ํ•˜๋“œ์›จ์–ด ๊ฐ€์† API์ธ DXVA๊ฐ€ ์—ฌ๊ธฐ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. DirectShow ํ•„ํ„ฐ์ฒ˜๋Ÿผ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ ์™€์„œ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜์ง€๋งŒ DirectShow๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ˜„์žฌ๋Š” Media Foundation์— ์žˆ๋Š” Media Foundation Transforms(MFT)์— ์˜ํ•ด ๋Œ€์ฒด๋˜์—ˆ๋Š”๋ฐ DMO ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ ์ž์ฒด๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ MS์—์„œ๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ์ฝ”๋ฑ ๋˜๋Š” ์˜ค๋””์˜ค/๋น„๋””์˜ค ์ฒ˜๋ฆฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ MFT๋กœ ๊ตฌํ˜„ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ๋‹ค.

3.2.10. DirectPlay[ํŽธ์ง‘]

๋Œ€ํ•œ๋ฏผ๊ตญ์—์„œ๋Š” DirectX 7 ์ดํ•˜์—์„œ๋Š” ์ž‰์—ฌ ์ทจ๊ธ‰๋ฐ›๋Š” ๋„คํŠธ์›Œํฌ API์˜€๋‹ค. ์›ฌ๋งŒํ•œ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ฃ„๋‹ค ์ง์ ‘ ๋„คํŠธ์›Œํฌ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ์“ธ ์ •๋„. ๋Œ€ํ•œ๋ฏผ๊ตญ์—์„œ๋Š” ์˜จ๋ผ์ธ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด๊ฐ€ ์ง€์›๋˜๋Š” ํŒจํ‚ค์ง€ ๊ฒŒ์ž„์ด ๋Œ€์„ธ๊ฐ€ ๋œ ์‹œ์ ˆ์ด ๊ฑฐ์˜ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— DirectPlay๋ฅผ ์“ธ ์ด์œ  ์ž์ฒด๊ฐ€ ๋ณ„๋กœ ์—†์—ˆ๋‹ค.

ํ•œํŽธ DirectPlay๋Š” ํŒจํ‚ค์ง€ ๊ฒŒ์ž„ ์‹œ์žฅ์ด ํ™œ๋ฐœํ•œ ํ•ด์™ธ์—์„œ๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ๊ฐ€ ๋งŽ์€ ๋„คํŠธ์›Œํ‚น API์˜€๋‹ค.

DirectPlay๊ฐ€ ๋“ฑ์žฅํ–ˆ๋˜ 1990๋…„๋Œ€ ํ›„๋ฐ˜์—๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ ํ”ํ•˜๊ฒŒ ์“ฐ๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๊ฐ€ TCP, UDP๋กœ ์™„์ „ํžˆ ํ†ต์ผ๋˜๋˜ ์‹œ๋Œ€๊ฐ€ ์•„๋‹ˆ์—ˆ๋‹ค. ๋ชจ๋Ž€ ํ”Œ๋ ˆ์ด, IPX ๋„คํŠธ์›Œํฌ ๋“ฑ ์ผ๋ถ€ ์œ ์ €๋“ค๊นŒ์ง€๋„ ๋ชจ๋‘ ๋Œ์–ด์•ˆ์•„์•ผ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹น์‹œ์— IPX, ๋ชจ๋Ž€, TCP๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋ ค๋ฉด ์†Œ์ผ“ API๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ œ๊ฐ๊ฐ ๋‹ค๋ฅธ API๋ฅผ ๋‹ค ๊ฐ€์ ธ๋‹ค ์จ์•ผ ํ–ˆ๋‹ค. ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฒŒ์ž„์„ ํ”Œ๋ ˆ์ดํ•˜๋Š” ์‚ฌ๋žŒ ์ž…์žฅ์—์„œ๋„ ๋„คํŠธ์›Œํฌ ํ”Œ๋ ˆ์ด๋ฅผ ์œ„ํ•ด ํ†ต์‹ ์„ ์„ ์„ ํƒํ•˜๋Š” UI๊ฐ€ ๊ฒŒ์ž„๋งˆ๋‹ค ์ œ๊ฐ๊ฐ ๋‹ค๋ฅธ ๊ฒƒ๋„ ์ŠคํŠธ๋ ˆ์Šค์˜€๋‹ค. DirectPlay๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ๋‹จ์ผ API๋กœ ํ•œํ์— ๋๋‚ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ์—ˆ๊ณ  ์ด๋Š” ๋‹น๋Œ€์— ๋งŒ์กฑ์Šค๋Ÿฌ์šด ์„ ํƒ์ด์—ˆ๋‹ค.

ํ•ด์™ธ์˜ ๋ฉ”์ด์ € ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ์„œ๋น„์Šค ์—…์ฒด๋“ค(๊ฐ€๋ น Gamespy)์€ DirectPlay ์ง€์›์„ ํ•„๋‘๋กœ ๋‚ด์„ธ์› ๊ณ  ์ˆ˜๋งŽ์€ ํŒจํ‚ค์ง€ ๊ฒŒ์ž„์ด DirectPlay๋ฅผ ์ง€์›ํ•จ์œผ๋กœ ์ธํ•ด ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ์„œ๋น„์Šค ์—…์ฒด๋“ค๊ณผ์˜ ์—์ฝ”์‹œ์Šคํ…œ์ด ๊ตฌ์ถ•๋˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋ฐ˜๋ฉด ๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ๊ฒŒ์ž„ ํšŒ์‚ฌ ์ค‘์— ์˜จ๋ผ์ธ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ํŒจํ‚ค์ง€ ๊ฒŒ์ž„์„ ๊ฐœ๋ฐœํ•˜๋Š” ํšŒ์‚ฌ๋Š” ๊ฑฐ์˜ ์—†์—ˆ๊ณ  ํ•ด์™ธ ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ์„œ๋น„์Šค ๋˜ํ•œ ๋Œ€ํ•œ๋ฏผ๊ตญ์— ์ง์ ‘ ์ง„์ถœํ•œ ์‚ฌ๋ก€๊ฐ€ ์—†๋‹ค๊ฐ€ ๋’ค๋Šฆ๊ฒŒ MMO ์˜จ๋ผ์ธ ๊ฒŒ์ž„์œผ๋กœ ํฌ๊ฒŒ ์‹œ์žฅ์ด ์„ฑ์žฅํ•œ ๋งํ•˜์ž๋ฉด ํ•ด์™ธ์—์„œ ๋ณด๊ธฐ ํž˜๋“  ํŠน์ดํ•œ ํ˜•ํƒœ๋กœ ๊ฒŒ์ž„ ์‚ฐ์—…์ด ๊ถค๋„๋ฅผ ๋‹ฌ๋ ธ๊ธฐ ๋•Œ๋ฌธ์— DirectPlay๊ฐ€ ํ•ด์™ธ์™€ ๋‹ฌ๋ฆฌ ์ธ๊ธฐ๋ฅผ ์–ป์„ ๊ธฐํšŒ๊ฐ€ ์—†์—ˆ๋‹ค. ์•„๋ฌดํŠผ DirectPlay๋Š” ํ•ด์™ธ์—์„œ๋Š” ์ตœ๊ณ ์˜ ์ธ๊ธฐ์žˆ๋Š” ๋„คํŠธ์›Œํ‚น API์˜€๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ 2000๋…„์— ๊ฐ€๊นŒ์›Œ์ง€๋ฉด์„œ IPX๋‚˜ ๋ชจ๋Ž€์€ ์—ญ์‚ฌ์˜ ๋’ค์•ˆ๊ธธ๋กœ ๋น ๋ฅด๊ฒŒ ์‚ฌ๋ผ์ ธ๋‚˜๊ฐ”๊ณ  ์Šน์ž๋Š” TCP, UDP์˜€๋‹ค. ๋ชจ๋Ž€ ๋“ฑ์„ ์ง€์›ํ•  ํ•„์š” ์—†์ด ๊ทธ๋ƒฅ Windows Socket API(Winsock)๋งŒ ๊ฐ–๋‹ค ์“ฐ๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋๋‚˜๋ฒ„๋ฆฌ๋Š” ์‹œ๋Œ€๊ฐ€ ์™€๋ฒ„๋ฆฐ ๊ฒƒ์ด๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ DirectPlay๋Š” Winsock๋ณด๋‹ค ์‚ฌ์šฉ๋ฒ•์ด ๋” ์ƒ์†Œํ–ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  DirectPlay๊ฐ€ Winsock๋ณด๋‹ค ์‚ฌ์šฉ๋ฒ•์ด ๊ทธ๋ ‡๊ฒŒ ์‰ฌ์šด ๊ฒƒ๋„ ์•„๋‹ˆ์—ˆ๋‹ค. ๋ชจ๋Ž€, IPX๋“ฑ์„ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ๋“  ๋งž๋ฌผ๋ ค์•ผ ํ•˜๋Š”๋ฐ ์“ธ ํ•„์š”๋„ ์—†๋Š” ๊ธฐ๋Šฅ์— ์ˆ˜๊ณ ๋ฅผ ํ•ด์•ผ ํ–ˆ๋‹ค.

๊ฒฐ๊ตญ Windows Socket API๊ฐ€ ๋Œ€์„ธ๊ฐ€ ๋˜๋ฉด์„œ DirectPlay๊ฐ€ ๋’ค๋กœ ๋ฐ€๋ ค๋‚˜๋ฒ„๋ ธ๋‹ค. ๋Œ€๊ทœ๋ชจ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ์˜จ๋ผ์ธ ๊ฒŒ์ž„(MMO)์—๋Š” DirectPlay๊ฐ€ ๊ฐ๋‹น์„ ์ „ํ˜€ ๋ชปํ•œ ์ ๋„ ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‹ค.

ํ•œํŽธ DirectX 8์œผ๋กœ ์˜ค๋ฉด์„œ DirectPlay๋Š” ํฐ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋‹ค. Direct3D 10์ด ๊ทธ๋žฌ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์•„์˜ˆ ๋ฐฑ์ง€๋ถ€ํ„ฐ ์ œ์ž‘๋œ ๊ฒƒ์ด๋‚˜ ๋‹ค๋ฆ„์—†๋Š” ์ƒˆ๋กœ์šด ๋ฌผ๊ฑด์œผ๋กœ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด๋‹ค.

DirectX 8์˜ DirectPlay๋Š” ๋“œ๋””์–ด MMO ๊ฒŒ์ž„๋„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ์„ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋ณด์ด์Šค์ฑ—๊ณผ ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด ๋„คํŠธ์›Œํ‚น์— ๋Œ€ํ•ด์„œ QoS ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋“ฑ ๊ธฐ์กด Winsock์—์„œ ํ•ด์ฃผ์ง€ ์•Š์•˜๋˜ ํ˜์‹ ์ ์ธ ๊ธฐ๋Šฅ๋“ค์„ ๋ฌด์žฅํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ DirectPlay๋Š” IPX, ๋ชจ๋Ž€ ํ”Œ๋ ˆ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ๋“ฑ ๊ณผ๊ฑฐ์˜ ๊ตด๋ ˆ๋ฅผ ์™„์ „ํžˆ ๋ฒ—์–ด๋‚˜์ง€๋Š” ๋ชปํ–ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  DirectX 8์˜ DirectPlay๋Š” ๊ณผ๊ฑฐ์˜ ์˜ค๋ช…์„ ์™„์ „ํžˆ ๋’ค์ง‘์–ด๋ฒ„๋ฆด ์ •๋„๋กœ ์—„์ฒญ๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค. ๋ฌผ๋ก  ๊ณผ๊ฑฐ์˜ ์•…๋ชฝ ๋•Œ๋ฌธ์— ์—ฌ์ „ํžˆ ์‚ฌ์šฉ ๋น„์œจ์€ ๋†’์ง€ ์•Š๋‹ค. ์‚ฌ์‹ค์ƒ DirectX 8.0์—์„œ ๋ฒ„์ „์—…์ด ๋Š๊ฒผ๋‹ค.

๊ณ ์ „ ๊ฒŒ์ž„์„ ํ”Œ๋ ˆ์ด ํ•  ๋•Œ ์ด DirectPlay์™€ ๊ด€๋ จํ•ด์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ ์ด ๊ฒฝ์šฐ์—” ์ œ์–ดํŒ โ†’ ๋ชจ๋“  ์ œ์–ดํŒ ํ•ญ๋ชฉ โ†’ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ธฐ๋Šฅ โ†’ Windows ๊ธฐ๋Šฅ ์ผœ๊ธฐ/๋„๊ธฐ ์ฐฝ์—์„œ ๋ ˆ๊ฑฐ์‹œ ๊ตฌ์„ฑ ์š”์†Œ ํ˜น์€ DirectX ํ•ญ๋ชฉ์— ์ฒดํฌํ•œ ๋‹ค์Œ ํ™•์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์„ค์น˜๊ฐ€ ๋œ๋‹ค.[18]

DirectPlay์˜ ๊ธฐ์ˆ ๋ ฅ์€ ์ด์ œ ๋ชจ๋‘ XNA๋กœ ๋„˜์–ด๊ฐ”์œผ๋ฉฐ PC์™€ Xbox์šฉ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์—์„œ ๋„คํŠธ์›Œํฌ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด๋ฅผ ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  XNA ์—ญ์‹œ 2013๋…„์„ ๋์œผ๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ๋‹ค.

3.2.11. D3DX[ํŽธ์ง‘]

DirectX 7๋ถ€ํ„ฐ ์ œ๊ณต๋œ ๊ฐœ๋ฐœ ๊ด€๋ จ ํŽธ์˜๋ฅผ ์œ„ํ•œ ๋ณด์กฐ์ ์ธ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. DirectX SDK๊ฐ€ ๋ณ„๋„๋กœ ์กด์žฌํ•˜๋˜ ์‹œ์ ˆ์ธ Windows 7๊นŒ์ง€๋Š” ์ •์‹์œผ๋กœ ํฌํ•จ๋˜์–ด ์žˆ์—ˆ์ง€๋งŒ Standalone SDK๊ฐ€ Deprecated ์ฒ˜๋ฆฌ๋˜๊ณ  Windows SDK๋กœ ํฌํ•จ๋œ Windows 8๋ถ€ํ„ฐ D3DX ์ž์ฒด๊ฐ€ Deprecated์ฒ˜๋ฆฌ๋˜์—ˆ์œผ๋ฉฐ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” ํ˜ธํ™˜์„ฑ๊ณผ ์„ฑ๋Šฅ ๋ฌธ์ œ๋กœ ์ธํ•ด ๊ณต์‹์ ์œผ๋กœ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค.
d3dx9. d3dx9_42.dll์™€ ๊ฐ™์ด d3dx๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ—ค๋” ํŒŒ์ผ์ด ์ด์— ํฌํ•จ๋œ๋‹ค.

4. ๋ฒ„์ „๋ณ„ ์ •๋ณด ๋ฐ ์—ญ์‚ฌ[ํŽธ์ง‘]

๋ฒ„์ „์— ๋Œ€ํ•œ ์—ญ์‚ฌ ๋ฐ ๋ฒ„์ „๋ณ„ ์ง€์› ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” DirectX/๋ฒ„์ „ ์ •๋ณด ํ•ญ๋ชฉ ์ฐธ์กฐ.

5. ๊ธฐํƒ€[ํŽธ์ง‘]

Windows CE์—์„œ๋Š” GAPI(Game API)๋ผ๊ณ  ๋‚ด์žฅ DirectX๋ฅผ ๋ณด๊ฐ•ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ๋‹ค.

๊ทธ๋ž˜ํ”ฝ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šด๋“œ ์ชฝ๋„ ์ง€์›ํ•˜๋Š”๋ฐ DirectSound๊ฐ€ ๊ทธ๊ฒƒ์ด๋‹ค. DirectX์—๋Š” ์ข€ ๋Šฆ๊ฒŒ ํฌํ•จ์ด ๋˜์—ˆ๊ณ  ์ดˆ๊ธฐ ๊ธฐ๋Šฅ์€ ๋ณด์ž˜๊ฒƒ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ์œˆ๋„์šฐ ๊ฒŒ์ž„๋“ค์€ ์‚ฌ์šด๋“œ ํšจ๊ณผ๊ฐ€ ๋งŽ์ด ๋–จ์–ด์กŒ๋‹ค. 1990๋…„๋Œ€ ์ค‘ํ›„๋ฐ˜์— ๋‚˜์˜จ ๊ฒŒ์ž„๋“ค์ด ํšจ๊ณผ์Œ๋งŒ PCM(WAV)์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ฐฐ๊ฒฝ ์Œ์•…์„ CD ํŠธ๋ž™์ด๋‚˜ MIDI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ด๋Ÿฐ ์ด์œ  ๋•Œ๋ฌธ. ๋‘ ๊ฐœ ์ด์ƒ์˜ PCM์„ ๋ฏน์‹ฑํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๋–จ์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ดํ›„ DirectSound๊ฐ€ ๋งŽ์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ ๋ฐฐ๊ฒฝ ์Œ์•…๋„ PCM์œผ๋กœ ๋„ฃ์–ด ๋ฏน์‹ฑํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ด์กŒ๊ณ  DirectX 3.0๋ถ€ํ„ฐ DirectSound3D ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด์„œ 3D ์‚ฌ์šด๋“œ๋„ ์ง€์›ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  5.0 ๋ฒ„์ „๋ถ€ํ„ฐ 3D ์‚ฌ์šด๋“œ๋ฅผ ์ทจ๊ธ‰ํ•˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋“œํŒŒํ‹ฐ ๊ฐœ๋ฐœ์‚ฌ๊ฐ€ ๊ฐœ๋ฐœํ•œ ๊ทœ๊ฒฉ๋“ค์„ ์ง€์›ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋น„์Šทํ•˜๊ฒŒ MIDI ์Œ์•… ์ง€์›์„ ์œ„ํ•ด DirectMusic์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋‚˜ ํ˜„์žฌ๋Š” ๋น ์ง€๊ณ  DirectSound์™€ ์‚ฌ์šด๋“œ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๊ทธ ์ž๋ฆฌ๋ฅผ ๋งก๊ณ  ์žˆ๋‹ค. MS์—์„œ๋Š” ๊ฒŒ์ž„์˜ ํ”Œ๋ ˆ์ด ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์‹ค์‹œ๊ฐ„ ๊ณก ๋ณ€์กฐ๋‚˜ ์‹ค์‹œ๊ฐ„ BGM ์ƒ์„ฑ์„ ๊ธฐ๋Œ€ํ–ˆ์œผ๋‚˜ ์ด๋ฏธ MIDI์˜ ์‹œ๋Œ€๋Š” ๊ฐ€๋ฒ„๋ ธ๋‹ค. DirectX 8.0๋ถ€ํ„ฐ๋Š” ์ด๋“ค์„ ํ•ฉ์ณ์„œ DirectX Audio๋ผ๊ณ  ๋ช…๋ช…๋˜์—ˆ๊ณ  XBOX360 ์ถœ์‹œ ์ดํ›„ XAudio๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ 2008๋…„ 3์›”์— Windows์—๋„ XAudio๊ฐ€ ๋„์ž…๋˜๋ฉด์„œ XAudio 2๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜์—ˆ์œผ๋ฉฐ ํ˜„์žฌ๋Š” Windows 10 SDK์™€ ํ•จ๊ป˜ ๋“ฑ์žฅํ•œ XAudio 2.9๊ฐ€ ์ตœ์‹  ๋ฒ„์ „.

๊ทธ ์™ธ์— ๋™์˜์ƒ๊ณผ ์Œ์•… ์ฝ”๋ฑ๊ฐ™์€ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด DirectShow๊ฐ€ ํ•œ๋•Œ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋‚˜ ๊ธˆ๋ฐฉ Windows SDK ์ชฝ์œผ๋กœ ํ‡ด์ถœ๋˜์—ˆ๊ณ  Windows Vista ์ดํ›„ ๋ฒ„์ „๋ถ€ํ„ฐ Media Foundation์œผ๋กœ ๋Œ€์ฒด๋˜๋Š” ์ค‘์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋™์˜์ƒ์„ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋ ค๋ฉด DirectX์— ํฌํ•จ๋œ ๊ตฌ ๋ฒ„์ „ DirectDraw ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค.

Windows XP๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ด์ „๊นŒ์ง€๋Š” ์›ฌ๋งŒํ•œ ๊ธฐ๋Šฅ ํ–ฅ์ƒ๋งˆ๋‹ค ๋ฒ„์ „์ด 1 ๋‹จ์œ„๋กœ ์˜ฌ๋ผ๊ฐ”๋Š”๋ฐ ๋•๋ถ„์— ๊ฑฐ์˜ ๋งค๋…„๋งˆ๋‹ค ์ƒˆ ๋ฉ”์ด์ € ๋ฒ„์ „์ด ๋‚˜์™€์„œ ์ •์‹ ์„ ์ฐจ๋ฆด ์ˆ˜ ์—†์„ ์ •๋„์˜€๋‹ค.

Windows Vista ์ดํ›„์˜ ์ตœ์‹  ์œˆ๋„์šฐ์—์„œ๋Š” DirectX 10 ์ดํ›„ ๋ฒ„์ „์€ ์ œ๋Œ€๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ์ง€๋งŒ DirectX 9.0c ์ด์ „ ๋ฒ„์ „์€ ์ œ๋Œ€๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— DirectX 9.0c ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๊ฐœ๋ฐœ๋œ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋ฉด d3dx9_ร—ร—.dll์ด ์—†์–ด์„œ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋œฌ๋‹ค.[19] ์ด๋Š” DirectX End-User Runtime(DirectX ์ตœ์ข… ์‚ฌ์šฉ์ž ๋Ÿฐํƒ€์ž„)์„ ์„ค์น˜ํ•ด์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค. ๋‹ค์šด๋กœ๋“œ(๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ํ™ˆํŽ˜์ด์ง€) ๋ฌผ๋ก  ์–ด๋””๊นŒ์ง€๋‚˜ DirectX ๋ฌธ์ œ๋งŒ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด๊ธฐ์— ๋‹ค๋ฅธ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋กœ ๊ฒŒ์ž„์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ๊นŒ์ง€๋Š” ๋ง‰์„ ์ˆ˜ ์—†๋‹ค.

Windows 8๊ณผ ํ•จ๊ป˜ ๋‚˜์˜จ DirectX 11.1, Windows 8.1๊ณผ ํ•จ๊ป˜ ๋‚˜์˜จ DirectX 11.2, Windows 10๊ณผ ํ•จ๊ป˜ ๋‚˜์˜จ DirectX 11.3, 12 ์ดํ›„์—๋„ DirectX 9.0, 9.0c, 11.0 ๊ฒŒ์ž„์œผ๋กœ ๊ฐœ๋ฐœ๋˜๋Š” ์ด์œ ๋Š” DirectX 11.0๊นŒ์ง€๋Š” DirectX SDK๋ฅผ ์ด์šฉํ•˜๋Š” ๊ธฐ์กด ๋ฐฉ์‹๋Œ€๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํŠนํžˆ ์ตœ์ ํ™”๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ๊ณ  DirectX 12์—์„œ๋Š” ์•„์ง 11์—์„œ์˜ ๊ธฐ๋Šฅ์ด ๋‹ค ๊ตฌํ˜„๋˜์–ด์žˆ์ง€ ์•Š์€๋ฐ๋‹ค ๋”์šฑ์ด ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋™์•ˆ ๊ทธ๋ž˜ํ”ฝ ํšŒ์‚ฌ๋“ค์ด ๋“œ๋ผ์ด๋ฒ„ ์ค‘์‹ฌ์ ์ธ ์ตœ์ ํ™”์™€ ์•ˆ์ „์„ฑ์„ ์ž˜ ํ•ด๋‘์—ˆ๊ธฐ์— ๊ฐœ๋ฐœ์ž๋“ค์ด ํŽธํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ DirectX 12์—์„œ๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์š”๊ตฌํ•˜๋Š” ์ŠคํŽ™์ด ๋” ๋Š˜์–ด๋‚˜์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ถ€ํ„ฐ ๊ทธ๋ž˜ํ”ฝ์— ๋ชจ๋“  ๋ถ€๋ถ„์„ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๋‹คํ•ด์ฃผ๋˜ ๊ฒƒ์„ ์ด์   ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋“œ์›จ์–ด๊นŒ์ง€ ๊ณต๋ถ€ํ•ด์„œ ์ผ์ผ์ด ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์ตœ์ ํ™”๋ฅผ ์‹œ์ผœ์•ผ ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰ DirectX 11์—์„œ๋Š” ๊ทธ๋ž˜ํ”ฝ์นด๋“œ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์•Œ์•„์„œ ๋‹ค ํ•ด์ฃผ๋˜ ๊ฒƒ์„ DirectX 12์—์„œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋Œ€๋ถ€๋ถ„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋นจ๋ฆฌ ๋ฐ›์•„๋“ค์ด๊ณ  ํ˜ธ์‘ํ•ด์ค€ ๊ฒƒ์—๋Š” ๊ฐœ๋ฐœ์ž ํŽธ์˜ ์ง€ํ–ฅ์ ์ธ ๊ธฐ์ˆ ์ด์—ˆ๊ธฐ์— ๊ฐ€๋Šฅํ–ˆ๋˜ ์ผ์ด๋ผ๋Š” ์ . ๋น ๋ฅธ ํผํฌ๋จผ์Šค์™€ ํ€„๋ฆฌํ‹ฐ๋ฅผ ๋ฝ‘์œผ๋ ค๋ฉด 3dfx์˜ ๊ธ€๋ผ์ด๋“œ API๊ฐ€ ์ง„๋ฆฌ์˜€๋˜ 1990๋…„๋Œ€ ํ›„๋ฐ˜์— ๊ธ€๋ผ์ด๋“œ API๋ฅผ ๋”ฐ๋ผ์žก๊ธฐ ์œ„ํ•ด ๊ฒŒ์ž„์— ๋„์›€์ด ๋˜๋Š” ์˜จ๊ฐ– ๊ธฐ์ˆ ๋“ค๊ณผ ๊ฐœ๋ฐœ ํŽธ์˜์„ฑ์„ ์ ˆ์น˜๋ถ€์‹ฌ์œผ๋กœ ์—ฐ๊ตฌํ•œ ๋์— DirectX 5.0๋ถ€ํ„ฐ SDK ๊พธ๋Ÿฌ๋ฏธ๋กœ์จ ์ดˆ์„์„ ๊ฐ–์ถ”๊ณ  6.0 โ†’ 6.1 โ†’ 7.0์— ๋“ค์–ด์„œ ํš๊ธฐ์ ์ธ ๊ธฐ์ˆ ๋“ค์„ ๋Œ€๊ฑฐ ์ถ”๊ฐ€ํ•˜์ž ๊ธ€๋ผ์ด๋“œ API๋ฅผ ํŽธ์• ํ–ˆ๋˜ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ๋„ ์ธ์ •๋ฐ›์•˜๋˜ ๊ณณ์ด 1999๋…„ ๋‹น์‹œ์˜ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜€๋‹ค.

๊ทธ๋ฆฌ๊ณ  DirectX 12์˜ ์žฅ์ ์ด ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ๋กœ ์ธํ•œ ํ–ฅ์ƒ๋œ ํผํฌ๋จผ์Šค(ํ”„๋ ˆ์ž„์†๋„)์˜€๋Š”๋ฐ ์‹ค์ œ๋กœ ๊ฐœ๋ฐœํ•˜๋ฉด ์ด๋ก ๋งŒํผ ๊ทธ๋‹ค์ง€ ๋น ๋ฅด์ง€ ์•Š๋‹ค๋Š” ์ . ์˜คํžˆ๋ ค ์ตœ์ ํ™” ์ž˜๋ชป ์‹œํ‚ค๋ฉด DirectX 11๋ณด๋‹ค ๋” ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ ํšŒ์‚ฌ๋“ค์˜ ์ง€์› ๋ถ€๋ถ„์ด๋‹ค. DirectX 12๋Š” ํŠน์ดํ•˜๊ฒŒ๋„ NVIDIA๋ณด๋‹ค๋Š” ์ธ์ง€๋„๊ฐ€ ๋‚ฎ์€ AMD๊ฐ€ ๋” ์ž˜ํ•ด์ค€๋‹ค๊ณ  ํ•œ๋‹ค. ๋‹จ์ง€ ์†๋„ ๋ฉด์—์„œ AMD๊ฐ€ ์ข‹์€ ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ NVIDIA๋„ ๋ช‡ ๋‹ฌ์งธ ํ•ด๊ฒฐํ•ด์ฃผ์ง€ ์•Š์€ ๋ฒ„๊ทธ๋„ ๋ฐ”๋กœ๋ฐ”๋กœ ์ˆ˜์ •ํ•ด์ค€๋‹ค๊ณ  ํ•œ๋‹ค. ๋‹ค๋งŒ ๋‹จ์ ๋„ ์žˆ๋Š”๋ฐ AMD๋Š” ๋“œ๋ผ์ด๋ฒ„์— ๋ณ„์˜ ๋ณ„ ์ง“์„ ๋‹ค ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ฒ„์ „๋งˆ๋‹ค ๊ตฌ์กฐ๊ฐ€ ๋„ˆ๋ฌด ๋ฐ”๋€Œ์–ด์„œ ๊ณจ์น˜์•„ํ”„๋‹ค๊ณ  ํ•œ๋‹ค. ๋ฐ˜๋ฉด ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ ํšŒ์‚ฌ์—์„œ ๊ฐ€์žฅ ํฐ ์†์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋Š” NVIDIA๋Š” DirectX 12 ๋ถ€๋ถ„์— ๋“œ๋ผ์ด๋ฒ„ ์ตœ์ ํ™”์™€ ์•ˆ์ „์„ฑ์ด ๋–จ์–ด์ง€๋ฉฐ 2019๋…„ ํ˜„์žฌ ์•„์ง๊นŒ์ง€ ํ•˜๋“œ์›จ์–ด๋กœ ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋ง์œผ๋กœ์จ ์‹œํ—˜๊ธฐ์— ๊ฐ€๊นŒ์šด ๋ ˆ์ดํŠธ๋ ˆ์ด์‹ฑ๊ณผ ๋”ฅ ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์•ˆํ‹ฐ์—์ผ๋ฆฌ์–ด์‹ฑ์— ์ง‘์ฐฉํ•˜๊ณ  ์žˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์ชฝ์˜ ๊ฐœ์„  ์†๋„๊ฐ€ ๋А๋ฆฐ ์ ๋„ ๋ฌธ์ œ๊ฐ€ ๋˜๊ณ  ์žˆ๋‹ค. 4๋…„์งธ ์ ‘์–ด๋“  ์ง€๊ธˆ์ด์•ผ ๋ฒ„๊ทธ๊ฐ€ ๋งŽ์ด ์ˆ˜์ •๋˜์—ˆ์ง€๋งŒ ์ดˆ๊ธฐ ๋ฒ„๊ทธ๋Š” ๋‹ค์Œ Windows 10 ๋Œ€๊ทœ๋ชจ ์—…๋ฐ์ดํŠธ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•  ์ •๋„๋กœ ๋ฐ”๋กœ ์ˆ˜์ •์ด ์•ˆ ๋˜๋ฉฐ ํ•ด๋‹น ๋Œ€๊ทœ๋ชจ ์—…๋ฐ์ดํŠธ์— ์•ˆ ๋˜์—ˆ๋‹ค๋ฉด ๋˜ ๋‹ค์‹œ ๋‹ค์Œ ๋Œ€๊ทœ๋ชจ ์—…๋ฐ์ดํŠธ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ DirectX 11.0์ด Windows 7๊ณผ์˜ ํ˜ธํ™˜์„ฑ๊ณผ ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”ฝ ๊ธฐ์ˆ  ๊ทธ๋ฆฌ๊ณ  ๋“œ๋ผ์ด๋ฒ„ ์ตœ์ ํ™” ๋“ฑ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ํ›จ์”ฌ ์šฐ์ˆ˜ํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ์ฃผ๋„์ ์œผ๋กœ ์ ๊ทน์ ์œผ๋กœ ๋ฐ€์–ด ๋ถ™์ด๊ณ  ๊ฐœ์„ ์„ ํ•˜๋‹ค๋ณด๋‹ˆ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์€ DirectX 12์— ๋Œ€ํ•œ ์ „๋ง์„ ์ข‹๋“  ์‹ซ๋“  ๋†’๊ฒŒ ๋ณด๊ณ  ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด ๊ทธ๋ž˜ํ”ฝ ๊ธฐ์ˆ ๋งŒ ์•Œ๋˜ ๊ฐœ๋ฐœ์ž๋“ค๋„ ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์ตœ์ ํ™”๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•œ๋‹ค๋Š” ๊ด€์ ๋„ ๋Š˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค๋งŒ ์•„์ง๊นŒ์ง„ ๊ฐœ๋ฐœ์ž๋“ค ์ž…์žฅ์—์„œ DirectX 12๋Š” 11.0์œผ๋กœ ์ œ์ž‘ ์ค‘์ธ ๊ฒŒ์ž„์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์•ˆ ๋‚˜์˜ฌ ๋•Œ ์ตœ๋Œ€ํ•œ ํ•˜๋“œ์›จ์–ด์— ์„ฑ๋Šฅ์„ ์ฅ์–ด์งœ์„œ ์ตœ์ ํ™”์‹œ์ผœ์•ผ ํ•  ๋ถ€๋“์ดํ•œ ์ƒํ™ฉ์—์„œ ๋งˆ์ง€๋ชปํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฒ„์ „์ธ ๊ฒƒ์œผ๋กœ ๋ณด๊ณ  ์žˆ๋‹ค. ํŠนํžˆ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ถ€๋ถ„์ด ๊นŒ๋‹ค๋กœ์›Œ์„œ DirectX 12๋กœ ๊ฐœ๋ฐœํ•  ๊ฒฝ์šฐ ์ž์นซํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ์†Œ๋ชจํ•˜๊ฒŒ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

์• ์ดˆ์— ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋„ DirectX 12 ๋ฒ„์ „์„ ์ƒ๊ฐ๋งŒ ํ•˜๊ณ  ์žˆ์—ˆ์„ ๋ฟ ๊ฐœ๋ฐœํ•  ์ƒ๊ฐ์€ ์—†์—ˆ๋˜ API์˜€๋‹ค. ๊ทธ๋Ÿฌ๋‹ค AMD์˜ ๋งจํ‹€์ด๋ผ๋Š” API๊ฐ€ DirectX 11์˜ ๊ฒŒ์ž„ ๊ฐ€์† ๋ฐฉ์‹์€ ๋А๋ฆฌ๋‹ค๋Š” ์ธ์‹์„ ์‹ฌ์–ด์ฃผ๋ฉด์„œ ์–ด์ฉ” ์ˆ˜ ์—†์ด DirectX 12๋ฅผ ๋ฐœํ‘œํ–ˆ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ๋งŽ๋‹ค. ์ด๋Š” AMD๊ฐ€ ๊ฐ€์žฅ ์ž๋ถ€์‹ฌ์„ ๋А๋ผ๋Š” ๋ถ€๋ถ„์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์—†์—ˆ์œผ๋ฉด DirectX 12๋Š” ์—†์—ˆ์„ ๊ฒƒ์ด๋ผ๋Š” ๋ฐœ์–ธ์„ ํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค. ๋“œ๋ผ์ด๋ฒ„์—์„œ ์ถฉ๋ถ„ํ•œ ์ตœ์ ํ™”๋ฅผ ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์ž˜ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ณ  ๊ฐœ๋ฐœ์ž๋“ค๋„ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ด ํŽธํ–ˆ๋˜ DirectX 11์ด์—ˆ๊ธฐ์— ๊ฒŒ์ž„ ์„ฑ๋Šฅ์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋ณด๋‹ค ์˜ˆ๋ฏผํ–ˆ๋˜ NVIDIA๊ฐ€ ๋ณ‘๋ ฌ์‹ ๋น„๋™๊ธฐ ์ปดํ“จํŒ…(AMD์—์„œ๋Š” '๋น„๋™๊ธฐ ์…ฐ์ด๋”')์„ ๋„์ž…ํ•˜์ง€ ์•Š๋Š” ๋“ฑ ์ ๊ทน์ ์ด์ง€ ์•Š์•˜๋˜ ์ด์œ ๋„ ์ด๋Ÿฐ ์ด์œ ์˜€๋‹ค.

.NET Framework์˜ ๋‘๋ฒˆ์งธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ WPF(Windows Presentation Foundation)๋Š” Windows API์˜ GDI, GDI+๋ฅผ ์“ฐ๋Š” Windows.Forms์™€ ๋‹ค๋ฅด๊ฒŒ DirectX ๋ Œ๋”๋ง ๋ฐฉ์‹์ด๋‹ค.

DirectX 9์ดํ•˜๋Š” ์ผ๋ถ€ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ์—์„œ ๊ฐ€์†์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์•„ ํ”„๋ ˆ์ž„ ๋“œ๋ž์ด ์ƒ๊ฒจ dgvoodoo๊ฐ™์ด ํ˜ธํ™˜์šฉ DirectX ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ง€์›ํ•˜๋Š” ๊ธ€๋ผ์ด๋“œ ๋ž˜ํผ๋กœ ํ•ด๊ฒฐํ•ด์•ผํ•œ๋‹ค.[20]

6. ๊ด€๋ จ ๋ฌธ์„œ[ํŽธ์ง‘]

[1] MS์—์„œ ๋งํ•˜๋Š” ๋ฐœ์Œ๋ฒ•์€ '๋‹ค์ด๋ ‰ํŠธ ์—‘์Šค'์ง€๋งŒ ๋ฏธ๊ตญ์—์„œ๋Š” '๋””๋ ‰ํŠธ ์—‘์Šค'๋ผ๊ณ  ์ฝ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. โ€˜Directโ€™์˜ ๋ฐœ์Œ์€ ๋ฏธ๊ตญ์‹์€ '๋””๋ ‰ํŠธ', ์˜๊ตญ์‹์€ '๋‹ค์ด๋ ‰ํŠธ'.
[2] WDDM 2.9๋ถ€ํ„ฐ WSL 2 ์ฆ‰ ๋ฆฌ๋ˆ…์Šค์šฉ ๋‹ค์ด๋ ‰ํŠธx ๊ฐ€์†์ด ์ง€์›๋œ๋‹ค.
[3] ์„œ๋น„์Šค ํŒฉ 2 ์ด์ƒ ํ•œ์ •์œผ๋กœ DirectX 9.0c๊นŒ์ง€ ๊ณต์‹ ์ง€์›ํ•˜๋‚˜ ์ดˆ์ฐฝ๊ธฐ์—๋Š” ๊ธฐ๋ณธ ์ง€์› ๋ฒ„์ „์ธ DirectX 8.1์„ ์ผ๋‹ค.
[4] ์ˆ˜๊ณ ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๊ทธ๋ƒฅ ์ตœ์‹  OS(ํ˜„ ์‹œ์ ์—์„œ๋Š” Windows 10)์„ ์‚ฌ์šฉํ•˜๋ฉด ํŽธํ•˜๋‹ค. ์ตœ์‹  OS๋Š” ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „์˜ DirectX๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”ํ›„ ์ƒˆ๋กœ์šด DirectX ๋ฒ„์ „์ด ๋‚˜์˜ค๊ธฐ ์ „๊นŒ์ง€๋Š” ํ›„์ˆ ํ•  9.0c ์ด์ „ ๋ฒ„์ „์˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ ๋ง๊ณ ๋Š” ๊ฑด๋“œ๋ฆด ๊ฒŒ ์—†๋‹ค.
[5] Windows Vista๋ถ€ํ„ฐ ์ปค๋„ ๊ตฌ์กฐ๋Š” ๋ฌผ๋ก  ๋””์Šคํ”Œ๋ ˆ์ด ๋“œ๋ผ์ด๋ฒ„ ๋ชจ๋ธ๊นŒ์ง€ ์™„์ „ํžˆ ๋‹ฌ๋ผ์ ธ์„œ XP ์ด์ „์˜ 9.0c๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
[6] ์ฃผ๋กœ d3dx. Deprecated ๋˜์—ˆ๋‹ค.
[7] ํŽธ์˜์ƒ ๋ฒ„์ „ ๋ช…์นญ์œผ๋กœ ๊ณต์‹ ๋ช…์นญ์€ Microsoft Windows Software Development Kit for Windows Vista and .NET Framework 3.0 Runtime Components
[8] ํŽธ์˜์ƒ ๋ฒ„์ „ ๋ช…์นญ์œผ๋กœ ๊ณต์‹ ๋ช…์นญ์€ Microsoft Windows Software Development Kit Update for Windows Vista
[9] ํŽธ์˜์ƒ ๋ฒ„์ „ ๋ช…์นญ์œผ๋กœ ๊ณต์‹ ๋ช…์นญ์€ Windows SDK for Windows Server 2008 and .NET Framework 3.5
[10] ํŽธ์˜์ƒ ๋ฒ„์ „ ๋ช…์นญ์œผ๋กœ ๊ณต์‹ ๋ช…์นญ์€ Windows SDK for Windows 7 and .NET Framework 3.5 SP1
[11] ํŽธ์˜์ƒ ๋ฒ„์ „ ๋ช…์นญ์œผ๋กœ ๊ณต์‹ ๋ช…์นญ์€ Windows SDK for Windows 7 and .NET Framework 4
[12] ๋‹จ ์†Œ์Šค ์ฝ”๋“œ ์ƒ˜ํ”Œ์€ DirectX SDK์—๋Š” ์—†๊ณ  Windows SDK(7.0 ์ด์ƒ)์—๋งŒ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.
[13] DirectX 8.0, 9.0์ฒ˜๋Ÿผ ์ฒ˜์Œ๋ถ€ํ„ฐ Direct3D๋กœ 2D ๊ทธ๋ž˜ํ”ฝ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์œผ๋กœ ๋ณด์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ 2D ๊ทธ๋ž˜ํ”ฝ๋งŒ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์žกํ•œ 3์ฐจ์› ๊ณต๊ฐ„์˜ ์ขŒํ‘œ๋ฅผ ์ด์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ์˜ ๋ณต์žก๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๊ณ  ์ž˜๋ชปํ•˜๋ฉด ์ž์› ๋‚ญ๋น„๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜๋„ ์žˆ๋‹ค.
[14] Direct2D 1.1์€ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ ๋“ฑ์˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ๋“ค ๋•Œ๋ฌธ์— ์ด๋“ค์„ ๋ชจ๋‘ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด DirectX 11.1 ์ด์ƒ์€ ๋˜์–ด์•ผ ํ•œ๋‹ค.
[15] Windows 7 ์ œ์™ธ. (์ตœ์‹  ๋ฒ„์ „์ธ IE 11์—์„œ๋„ ๊ธฐ์กด์˜ ํด๋ฆฌ์–ดํƒ€์ž…์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค.)
[16] ์˜คํ”ผ์Šค 2013๋„ ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ ๋ Œ๋”๋ง์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, DirectWrite๊ฐ€ ์•„๋‹Œ ์˜คํ”ผ์Šค 2013๋งŒ์˜ ํŠน์ˆ˜ํ•œ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•œ๋‹ค.
[17] ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์ ‘ํ•˜๋Š” ์ฐฝ ๋ชจ๋“œ โ†” ์ „์ฒด ํ™”๋ฉด ๋ชจ๋“œ ์ „ํ™˜ ๊ธฐ๋Šฅ์ด ์ด์— ํ•ด๋‹น๋œ๋‹ค.
[18] ์„œ๋ฒ„์šฉ ์œˆ๋„์šฐ๋ฅผ ๊น”์•˜๋‹ค๋ฉด ์‹œ์ž‘ โ†’ ์„œ๋ฒ„ ๊ด€๋ฆฌ์ž ์•„์ด์ฝ˜์— ์ปค์„œ๋ฅผ ๊ฐ–๋‹ค๋Œ€๊ณ  ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ์ž์„ธํžˆ ํ•ญ๋ชฉ์— ๊ฐ–๋‹ค๋Œ€๊ณ  ๋‚˜ํƒ€๋‚˜๋Š” ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์„œ๋ฒ„ ๊ด€๋ฆฌ์ž ์‹คํ–‰ โ†’ ๊ด€๋ฆฌ(M) โ†’ ์—ญํ•  ๋ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ โ†’ ์‹œ์ž‘ํ•˜๊ธฐ ์ „ ํ˜น์€ ์„ค์น˜ ์œ ํ˜• ํ•ญ๋ชฉ์ด ๋œจ๋ฉด ๊ธฐ๋Šฅ ํ•ญ๋ชฉ์ด ๋œฐ ๋•Œ๊นŒ์ง€ ๋‹ค์Œ(N) ๋ฒ„ํŠผ์„ ํด๋ฆญ โ†’ DirectPlay ํ•ญ๋ชฉ์— ์ฒดํฌํ•˜๊ณ  ์„ค์น˜ํ•˜๋Š” ์ˆœ์œผ๋กœ ํ™œ์„ฑํ™”๋ฅผ ์‹œ์ผœ์ค˜์•ผ ํ•œ๋‹ค. ์•„๋‹ˆ๋ฉด ์ผ๋ฐ˜ ์œˆ๋„์šฐ๋‚˜ ์„œ๋ฒ„ ์œˆ๋„์šฐ ํ•  ๊ฒƒ ์—†์ด ์ด๋Ÿฌํ•œ ๊ณผ์ •๋“ค์ด ์ „๋ถ€๋‹ค ๊ท€์ฐฎ๊ฒŒ ๋А๊ปด์ง„๋‹ค๋ฉด ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ cmd์ฐฝ์„ ์‹คํ–‰ํ•ด์„œ dism /online /enable-feature /all /FeatureName:"DirectPlay"๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด๋œ๋‹ค.
[19] ๊ทธ๋ž˜์„œ ์œˆ๋„์šฐ Vista ์ดํ›„ ์ตœ๊ทผ์— ๋‚˜์˜ค๋Š” DX 9 ๊ฒŒ์ž„๋“ค์€ ์•„์˜ˆ ๊ฒŒ์ž„ ํด๋” ๋‚ด์— d3dx9_ร—ร—.dll์„ ์กฑ์กฑ ๋„ฃ์–ด ๋‘๊ณ  ์žˆ๋‹ค.
[20] nVIDIA Optimus๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋žฉํ†ฑ๋ฅ˜๋Š” ๊ธ€๋ผ์ด๋“œ ๋ž˜ํผ๋งŒ ์™ธ์žฅ์œผ๋กœ ์„ค์ •ํ•ด์•ผ๋˜๋ฉฐ ๊ฒŒ์ž„๊นŒ์ง€ ์„ค์ •ํ•  ๊ฒฝ์šฐ ์ถฉ๋Œ๋‚œ๋‹ค.