PROGRAMMING/DirectX 12(10)
-
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 ์ฅ์น ์ด๊ธฐํ ์ดํดํ๊ธฐ (5) - part 1
[ DirectX 12 ์ฅ์น ์ด๊ธฐํ ๋จ๊ณ ] 1 ๋จ๊ณ Device(๊ทธ๋ํฝ ๋๋ฐ์ด์ค) ์์ฑ. 2 ๋จ๊ณ CommandQueue์ CommandList ์์ฑ. 3 ๋จ๊ณ SwapChain ์์ฑ. 4 ๋จ๊ณ FenceObject ์์ฑ. 5 ๋จ๊ณ ๋ ๋ํ๊ฒ(RenderTarget)๊ณผ ๊น์ด/์คํ ์ค(Depth/Stencil) ๋ฒํผ ์์ฑ. ๋ ๋ํ๊ฒ ๋ฒํผ์ ๊น์ด/์คํ ์ค ๋ฒํผ๋ฅผ ๋ง๋ค๊ธฐ ์ ์ ๋จผ์ ๋ฆฌ์์ค(Resource) & ๋ฆฌ์์ค ๋ทฐ(Resource View) ๊ทธ๋ฆฌ๊ณ ์์ ์ ํ(Descriptor Heap)์ ๋ํ ์ดํด๊ฐ ํ์ํ๋ค. [ ๋ฆฌ์์ค (Resource) ] ๋ชจ๋ ๊ทธ๋ํฝ ๋๋ฐ์ด์ค(GPU)๊ฐ ๋ ๋๋ง์ ํ ๋๋ ํฌ๊ฒ ๋ ๊ฐ์ง ๊ตฌ๋ถ์ผ๋ก ๋๋๋ค. CPU : C++ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ ์คํ์ํจ๋ค. GPU : Direct..
2020.07.25 -
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