DirectX 12(9)
-
DirectX 12 ์ฅ์น ์ด๊ธฐํ ์ดํดํ๊ธฐ (5) - part 2
[ DirectX 12 ์ฅ์น ์ด๊ธฐํ ๋จ๊ณ ] 1 ๋จ๊ณ Device(๊ทธ๋ํฝ ๋๋ฐ์ด์ค) ์์ฑ. 2 ๋จ๊ณ CommandQueue์ CommandList ์์ฑ. 3 ๋จ๊ณ SwapChain ์์ฑ. 4 ๋จ๊ณ FenceObject ์์ฑ. 5 ๋จ๊ณ ๋ ๋ํ๊ฒ(RenderTarget)๊ณผ ๊น์ด/์คํ ์ค(Depth/Stencil) ๋ฒํผ ์์ฑ. [ ๋ ๋ํ๊ฒ & ๊น์ด/์คํ ์ค ๋ฒํผ ์์ ์ ํ ์์ฑ ] ์์ ์ ํ(Descriptor Heap)์ ์์ ์๋ค์ ์ ์ฅํ๊ธฐ ์ํ ๋ฐฐ์ด์ด๋ผ๊ณ ์์์ ์ค๋ช ํ๋ค. ์์ ์ ํ์ ๋ง๋ค๊ธฐ ์ํด์๋ ID3D12DescriptorHeap* ๋ฅผ ์ ์ธํ๊ณ , ID3D12Device์ CreateDescriptorHeap() ํจ์๋ฅผ ํตํด ์์ฑํ ์ ์๋ค. D3D12_DESCRIPTOR_HEAP_DESC์ NumDes..
2020.07.27 -
DirectX 12 ์ฅ์น ์ด๊ธฐํ ์ดํดํ๊ธฐ (4)
[ DirectX 12 ์ฅ์น ์ด๊ธฐํ ๋จ๊ณ ] 1 ๋จ๊ณ Device(๊ทธ๋ํฝ ๋๋ฐ์ด์ค) ์์ฑ. 2 ๋จ๊ณ CommandQueue์ CommandList ์์ฑ. 3 ๋จ๊ณ SwapChain ์์ฑ. 4 ๋จ๊ณ FenceObject ์์ฑ. 5 ๋จ๊ณ ๋ ๋ํ๊ฒ(RenderTarget)๊ณผ ๊น์ด/์คํ ์ค(Depth/Stencil) ๋ฒํผ ์์ฑ. [ 4 ๋จ๊ณ FenceObject ์์ฑ ] CPU์ GPU๊ฐ ๋ณ๋ ฌ์ ์ผ๋ก ๋์ํ๊ธฐ ์ํด์๋ ๋๊ธฐํ(Synchronization)๊ฐ ํ์ํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก CPU๋ ๋ฆฌ์์ค๋ฅผ ์์ฑ(Write)ํ๊ณ , GPU๋ ์ด ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉ(Read)ํ๋ค. ๋ณ๋ ฌ ์ฒ๋ฆฌ์์ ๊ณต์ ๋๋ ๋ฆฌ์์ค์ ๋ํ ๋๊ธฐํ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค. CPU๋ ๋ ๋๋ง์ ํ์ํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ID3D12Resource COM๊ฐ์ฒด์ ์ ์ฅํ๋ค. (๋ฒ..
2020.07.16 -
DirectX 12 ์ฅ์น ์ด๊ธฐํ ์ดํดํ๊ธฐ (3)
[ DirectX 12 ์ฅ์น ์ด๊ธฐํ ๋จ๊ณ ] 1 ๋จ๊ณ Device(๊ทธ๋ํฝ ๋๋ฐ์ด์ค) ์์ฑ. 2 ๋จ๊ณ CommandQueue์ CommandList ์์ฑ. 3 ๋จ๊ณ SwapChain ์์ฑ. 4 ๋จ๊ณ FenceObject ์์ฑ. 5 ๋จ๊ณ ๋ ๋ํ๊ฒ(RenderTarget)๊ณผ ๊น์ด/์คํ ์ค(Depth/Stencil) ๋ฒํผ ์์ฑ. [ 3๋จ๊ณ SwapChain ์์ฑ ] [ Direct3D Double Buffering ] ์ค์ ์ฒด์ธ(SwapChain)์ ์์ฐจ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ํ๋ ์ ๋ฒํผ๋ค์ ์งํฉ์ด๋ค. - ์ ๋ฉด ๋ฒํผ(FrontBuffer) : ๋์คํ๋ ์ด(๋ชจ๋ํฐ)์ ์ง์ ์ฐ๊ฒฐ๋๋ค. ๊ทธ๋ํฝ ์นด๋๋ง ์ ๊ทผ ๊ฐ๋ฅํ ์์ญ์ด๋ค. - ํ๋ฉด๋ฒํผ(BackBuffer) : ์์ฉ ํ๋๊ทธ๋จ์ด ๊ทธ๋ํฝ ์์ ์ ํ๋ ์์ญ์ด๋ค. ํ๋ฆฌ์ ํ ์ด์ (Prese..
2020.07.15 -
DirectX 12 ์ฅ์น ์ด๊ธฐํ ์ดํดํ๊ธฐ (2)
[ DirectX 12 ์ฅ์น ์ด๊ธฐํ ๋จ๊ณ ] 1 ๋จ๊ณ Device(๊ทธ๋ํฝ ๋๋ฐ์ด์ค) ์์ฑ. 2 ๋จ๊ณ CommandQueue์ CommandList ์์ฑ. 3 ๋จ๊ณ SwapChain ์์ฑ. 4 ๋จ๊ณ FenceObject ์์ฑ. 5 ๋จ๊ณ ๋ ๋ํ๊ฒ(RenderTarget)๊ณผ ๊น์ด/์คํ ์ค(Depth/Stencil) ๋ฒํผ ์์ฑ. [ 2 ๋จ๊ณ CommandQueue์ CommandList์์ฑ ] CommandQueue์ CommandList๋ DirectX 12 ๊ทธ๋ํฝ ๋ ๋๋ง์์ ํต์ฌ์ ์ธ ์ญํ ์ ํ๋ COM๊ฐ์ฒด์ด๋ค. CommandList๋ ๋ช ๋ น(Command)๋ค์ ๋ด๊ณ ์๋ ๋ฆฌ์คํธ์ด๋ค. (์ฃผ๋ก ๊ทธ๋ํฝ ๋ ๋๋ง ๋ช ๋ น๋ค์ ๋ด๋๋ค.) CommandQueue๋ ์ด๋ฆ ๊ทธ๋๋ก ํ ํํ์ ๋์์ ํ๋ COM๊ฐ์ฒด์ด๋ค. ์ฌ๋ฌ ๊ฐ์ ..
2020.07.14