์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

D3D12 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์†Œ๊ฐœ

D3D9/10/11 ๋˜๋Š” OpenGL๊ฒฝํ—˜์ž๊ฐ€ D3D12ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ ์‘ํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ์ง€์‹์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

(5.0) ์ˆ˜๊ฐ•ํ‰ 18๊ฐœ

์ˆ˜๊ฐ•์ƒ 856๋ช…

๋‚œ์ด๋„ ์ค‘๊ธ‰์ด์ƒ

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

directx12
directx12
directx
directx
3d-graphics
3d-graphics
directx12
directx12
directx
directx
3d-graphics
3d-graphics

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

5.0

5.0

์ฟ ์นด์ด๋“ 

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

3D ์ œ์ž‘์˜ ๊ธฐ๋ณธ์— ๋Œ€ํ•ด์„œ ์•Œ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค! ์ข‹์€๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

5.0

๋˜˜๋˜˜์ด์Šค๋จธํ”„

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๊ท€ํ•œ ๊ฐ•์˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฑด๊ฐ• ์กฐ์‹ฌํ•˜์„ธ์š”.

5.0

๋น ํƒ€๋ฐ•์Šค

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

DirectX ๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์–ด๋–ค ๊ฒƒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋˜ ๊ฐ•์˜์˜€์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ์žˆ์ง€๋งŒ ์ด๋Ÿฐ ๊ฐ•์˜๋ฅผ ๋‚จ๊ฒจ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • D3D12๊ธฐ์ดˆ์ง€์‹

  • D3D11๊ณผ D3D12์˜ ์ฐจ์ด์ 

D3D12 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์†Œ๊ฐœ

DirectX12(์ดํ•˜D3D12)๋Š” Microsoft Windows๊ธฐ๋ฐ˜์˜ ์ฐจ์„ธ๋Œ€ ๊ทธ๋ž˜ํ”ฝ API์ž…๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ํ‘œ๋ฐฉํ•˜๋ฉฐ ๋งŽ์€ ๋ณ€๊ฒฝ์ ์„ ๊ฐ€์ง€๊ณ  ์ถœ์‹œ๋์Šต๋‹ˆ๋‹ค. ๊ณ ์„ฑ๋Šฅ์„ ํ‘œ๋ฐฉํ•˜๋Š” API์ง€๋งŒ ์ •๋ง๋กœ ๊ณ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ–ˆ๋Š”์ง€์— ๋Œ€ํ•ด ์ดˆ๊ธฐ์—๋Š” ๋งŽ์€ ์˜๋ฌธ์„ ๊ฐ€์ง€๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ฐจ๊ทผ์ฐจ๊ทผ ๊ทธ๋ž˜ํ”ฝAPI์‹œ์žฅ์„ ์ž ์‹ํ•ด๊ฐ€๊ณ  ์žˆ์œผ๋ฉฐ ์ด์ œ๋Š” ํ™•์‹คํ•œ ์ฃผ๋ฅ˜ API๋กœ ์ž๋ฆฌ์žก์•˜์Šต๋‹ˆ๋‹ค.
D3D12๋Š” ๊ธฐ์ˆ ์  ๋‚œ์ด๋„๊ฐ€ ๋งค์šฐ ๋†’๊ณ  ์ƒ์šฉ์—”์ง„ ์‚ฌ์šฉ์˜ ํŠธ๋ Œ๋“œ์˜ ์˜ํ–ฅ์œผ๋กœ ์ด๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณธ ๊ฒฝํ—˜์„ ๊ฐ€์ง„ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์ ์Šต๋‹ˆ๋‹ค.
๋ณธ ๊ฐ•์˜๋Š” D3D9/10/11 ๋˜๋Š” OpenGL๊ฒฝํ—˜์ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ D3D12ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ์ž‘ํ•˜๋Š”๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ „์ง€์‹์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ resource barrier, Descriptor Table , Root Signature๋“ฑ ์ฒ˜์Œ D3D12๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ ๋งŽ์ด ์ƒ์†Œํ•˜๊ฒŒ ๋А๋‚„๋งŒํ•œ ์ฃผ์ œ๋“ค์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

  • ๋ณธ ๊ฐ•์˜๋Š” megayuchi ์ฑ„๋„์—์„œ ์ง„ํ–‰ํ•œ D3D12์†Œ๊ฐœ ๋ผ์ด๋ธŒ ์˜์ƒ ๋…นํ™”๋ณธ์ž…๋‹ˆ๋‹ค.

  • ์—ฐ์†๋œ ๊ฐ•์˜๊ฐ€ ์•„๋‹Œ 1ํšŒ์„ฑ ๋…นํ™” ๊ฐ•์˜์ด๋‹ˆ ์ˆ˜๊ฐ•์— ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

  • ์‹œ์ฒญ์ž ์ฑ„ํŒ… ๊ธฐ๋ก์€ ์œ ํŠœ๋ธŒ ์ฑ„๋„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • D3D12๊ธฐ์ดˆํŽธ/๊ธฐ์ดˆํ”Œ๋Ÿฌ์Šค ๊ฐ•์ขŒ๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ธฐ ์ „ ์‚ฌ์ „ ์ง€์‹ ํ•™์Šต์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๊ด€๋ จ ๊ฐ•์˜

D3D12 ๊ธฐ์ดˆํŽธ https://inf.run/7gJhS

D3D12๊ธฐ์ดˆ ํ”Œ๋Ÿฌ์Šค https://inf.run/itHDW
DirectX Raytracing https://inf.run/cQqx7์žˆ์Šต๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค

1. DirectX์— ๋Œ€ํ•ด์„œ

  • DirectX์˜ ์—ญ์‚ฌ


  • DirectX 11 -> DirectX 12์˜ ๋ณ€๊ฒฝ์ 

2.DirectX 12์˜ ๋ฆฌ์†Œ์Šค ์ฒด๊ณ„

  • Descriptor Heap

  • ID3D12Resource


3.์‹คํ–‰์ฒด๊ณ„

  • Command List

  • Command Queue

  • Resource Barrier

  • Fence

4.DirectX12์˜ ๋ฆฌ์†Œ์Šค ๋ฐ”์ธ๋”ฉ

  • Root Signature

  • Descriptor Table

  • Pipeline State

5.DirectX 12์—์„œ์˜ ์„ฑ๋Šฅ ๊ฐœ์„ 

  • Multi threaded Rendering


3. ๊ฒฐ๋ก ๊ณผ ์‹œ์ฒญ์ž Q&A


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • D3D9/10/11๊ฒฝํ—˜์ž

  • OpenGL๊ฒฝํ—˜์ž

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • C/C++

  • ๊ทธ๋ž˜ํ”ฝ์Šค ๊ธฐ์ดˆ

  • D3D9/10/11

  • OpenGL

์•ˆ๋…•ํ•˜์„ธ์š”
megayuchi์ž…๋‹ˆ๋‹ค.

3,179

๋ช…

์ˆ˜๊ฐ•์ƒ

91

๊ฐœ

์ˆ˜๊ฐ•ํ‰

21

๊ฐœ

๋‹ต๋ณ€

5.0

์ 

๊ฐ•์˜ ํ‰์ 

10

๊ฐœ

๊ฐ•์˜

ํ”„๋กœ๊ทธ๋ž˜๋จธ

C++,x86/x64 ASM, DirectX9/11/12, Metal, OpenGL, CUDA, win32, winsock/bsd socket

 

์ธํ”„๋Ÿฐ ๊ฐ•์˜

D3D12ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆํŽธ - https://inf.run/7gJhS

D3D12ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆํ”Œ๋Ÿฌ์Šค - https://inf.run/itHDW

DirectX Raytracing ํ”„๋กœ๊ทธ๋ž˜๋ฐ - https://inf.run/cQqx7

Windows System ํ”„๋กœ๊ทธ๋ž˜๋ฐ - https://inf.run/AwfCv

Windows Debugging Tips - https://inf.run/zL7E4

 

Blog : https://megayuchi.com

Youtube : https://youtube.com/megayuchi

LinkedIn : https://www.linkedin.com/in/megayuchi/

 

 

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

1๊ฐœ โˆ™ (3์‹œ๊ฐ„ 5๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

18๊ฐœ

5.0

18๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • gyebum jeon๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    gyebum jeon

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    • Jeongman Lee๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      Jeongman Lee

      ์ˆ˜๊ฐ•ํ‰ 1

      โˆ™

      ํ‰๊ท  ํ‰์  5.0

      5

      100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      • ๊น€๋ณ‘์šฐ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
        ๊น€๋ณ‘์šฐ

        ์ˆ˜๊ฐ•ํ‰ 3

        โˆ™

        ํ‰๊ท  ํ‰์  5.0

        5

        100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

        • Ddayin Hwang๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
          Ddayin Hwang

          ์ˆ˜๊ฐ•ํ‰ 1

          โˆ™

          ํ‰๊ท  ํ‰์  5.0

          5

          100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

          • ์˜ค์‹œ์˜๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
            ์˜ค์‹œ์˜

            ์ˆ˜๊ฐ•ํ‰ 4

            โˆ™

            ํ‰๊ท  ํ‰์  5.0

            5

            100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

            megayuchi๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

            ์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            ๋น„์Šทํ•œ ๊ฐ•์˜

            ๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            ๋ฌด๋ฃŒ