Directx12 ๋ ๋๋ง ํ์ดํ๋ผ์ธ
Directx12 Initialize (์ด๊ธฐํ)
๋ค์ด๋ ํธx12 ์ ํ์ํ ๋ณ์์ ํด๋์ค๋ฅผ ์ด๊ธฐํํ๊ณ ์์ ๋ค์ ์ค๋นํฉ๋๋ค.
- ํ์ดํ๋ผ์ธ ์ด๊ธฐํ.
- Directx12 API ์ ๋๋ฒ๊ทธ๋ฅผ ๋์์ค ๋๋ฒ๊ทธ ๊ณ์ธต์ ์ค์ ํฉ๋๋ค.
- ๋๋ฐ์ด์ค๋ฅผ ์์ฑํฉ๋๋ค.
- ์ปค๋งจ๋ ํ๋ฅผ ์์ฑํฉ๋๋ค.
- ์ค์์ฒด์ธ์ ์์ฑํด์ค๋๋ค.
- ๋ ๋ํ๊ฒ ๋ทฐ(RTV) ๋ฅผ ๋ง๋ค๊ธฐ์ํ Descriptor Heap ์ ๋ง๋ค์ด์ค๋๋ค. ( ๋์คํฌ๋ฆฝํฐ ํ์ ๋ฆฌ์์ค์ ๋ํ ์ ๋ณด๋ฅผ ์ค๋ช ํฉ๋๋ค. ๋ฐฐ์ด๋ก ๋ง๋ค์ด ์ง์๋ ์์ต๋๋ค.)
- ๋ ๋ํ๊ฒ๋ทฐ๋ฅผ ์์ฑํฉ๋๋ค.
- Command Allocator ํ ๋น ( gpu ๋ช ๋ น์ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ) ๋ช ๋ น ํ ๋น์๋ ๋ช ๋ ฅ ๋ชฉ๋ก(command list) ๋ฐ ๋ฒ๋ค์ ๋ํ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- Assets ์ด๊ธฐํ
- ๋น ๋ฃจํธ ์๋ช ์ ๋ง๋ญ๋๋ค.
- ๋ฃจํธ ์๋ช ์ ๊ทธ๋ํฝ ํ์ดํ๋ผ์ธ์ ๋ฐ์ธ๋ฉ๋๋ ๋ฆฌ์์ค์ ์ฌ์ฉํํ๋ฅผ ์ ์ํฉ๋๋ค.
- ์ ฐ์ด๋ ์ปดํ์ผํฉ๋๋ค.
- ๊ผญ์ง์ ์ ๋ ฅ ๋ ์ด์์์ ๋ง๋ญ๋๋ค.
- ํ์ดํ๋ผ์ธ ์ํ ๊ฐ์ฒด ์ค๋ช ์ ๋ง๋ ๋ค์, ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค. [ํ์ดํ๋ผ์ธ ์ํ ๊ฐ์ฒด๋ ํ์ฌ ์ค์ ๋ ๋ชจ๋ ์ ฐ์ด๋ ๋ฐ ํน์ ๊ณ ์ ํจ์ ์ํ ๊ฐ์ฒด(์ ๋ ฅ ์ด์ ๋ธ๋ฌ, ํ ์ ๋ ์ด์ , ๋ ์คํฐ๋ผ์ด์ ๋ฐ ์ถ๋ ฅ ๋ณํฉ๊ธฐ)์ ์ํ๋ฅผ ์ ์งํฉ๋๋ค.]
- ๋ช ๋ น ๋ชฉ๋ก์ ๋ง๋ญ๋๋ค(command list)
- ๋ช ๋ ฅ ๋ชฉ๋ก์ ๋ซ์ต๋๋ค.
- ๊ผญ์ง์ ๋ฒํผ๋ฅผ ๋ง๋ค๊ณ ๋ก๋ํฉ๋๋ค.
- ๊ผญ์ง์ ๋ฒํผ view๋ฅผ ๋ง๋ญ๋๋ค.
- ํ์ค๋ฅผ ๋ง๋ญ๋๋ค. (gpu ์ cpu ๊ฐ ๋๊ธฐํ์ ์ฌ์ฉ)
- ์ด๋ฒคํธ ํธ๋ค์ ๋ง๋ญ๋๋ค.
- GPU ๊ฐ ์๋ฃ๋ ๋๊ฐ์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
Update
๋ง์ง๋ง ํ๋ ์ ์ดํ ๋ณ๊ฒฝํด์ผ ํ๋ ๋ชฏ๋ ํญ๋ชฉ์ ์ ๋ฐ์ดํธ ํฉ๋๋ค.
- ํ์์ ๋ฐ๋ผ์ ์์, ๊ผญ์ง์ , ์ธ๋ฑ์ค ๋ฒํผ ๋ฐ ๋ค๋ฅธ ๋ชจ๋ ํญ๋ชฉ์ ์์ ํฉ๋๋ค.
Render
์๋ก์ด ์๋๋ฅผ ๊ทธ๋ฆฝ๋๋ค.
- ๋ช
๋ น๋ชฉ๋ก( command list.)๋ฅผ ์ฑ์๋๋ค.
- ๋ช ๋ น ๋ชฉ๋ก ํ ๋น์๋ฅผ ๋ค์ ์ค์ ํฉ๋๋ค.
- ๋ช ๋ น ํ ๋น์์ ์ฐ๊ฒฐ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ค์ ์ฌ์ฉํ์ธ์.
- ๋ช ๋ น ๋ชฉ๋ก์ ๋ค์ ์ค์ ํฉ๋๋ค.
- ๊ทธ๋ํฝ ๋ฃจํธ ์๋ช ์ ์ค์ ํฉ๋๋ค. ( ํ์ฌ ๋ช ๋ น ๋ชฉ๋ก์ ์ฌ์ฉํ ๊ทธ๋ํฝ ๋ฃจํธ ์๋ช ์ ์ค์ ํฉ๋๋ค)
- ๋ทฐํฌํธ์ ๊ฐ์ ์ฌ๊ฐํ (์๋์ฐ ํ๋ฉด ์์ญ)์ ์ค์ ํฉ๋๋ค.
- ๋ ๋๋ง ๋์์ผ๋ก ์ฌ์ฉํ ๋ฐฑ ๋ฒํผ๋ฅผ ๋ํ๋ด๋ ๋ฆฌ์์ค ์ฅ๋ฒฝ์ ์ค์ ํฉ๋๋ค. ( ๋ฆฌ์์ค ์ฅ๋ฒฝ์ ๋ฆฌ์์ค ์ ํ์ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.)
- ๋ช ๋ น์ ๋ช ๋ ฅ ๋ชฉ๋ก์ ๊ธฐ๋กํฉ๋๋ค.
- ๋ช ๋ น ๋ชฉ๋ก์ด ์คํ๋ ํ ๋ฐฑ ๋ฒํผ๊ฐ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋จ์ ๋ํ๋ ๋๋ค. ( ๋ฆฌ์์ค ์ฅ๋ฒฝ์ ์ค์ ํ๋ ๋ ๋ค๋ฅธ ํธ์ถ์ ๋๋ค,)
- ์ถ๊ฐ ๊ธฐ๋ก์ ์ํด ๋ช ๋ น ๋ชฉ๋ก์ ๋ซ์ต๋๋ค.
- ๋ช ๋ น๋ชฉ๋ก์ ์คํํฉ๋๋ค.
- ํ๋ ์์ ๊ทธ๋ฆฝ๋๋ค.
- GPU๊ฐ ์๋ฃ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ( ํ์ค๋ฅผ ๊ณ์ ์ ๋ฐ์ดํธํ๊ณ ํ์ธํ์ธ์.)
Destroy
์ฑ์ ์ข ๋ฃํฉ๋๋ค.
- GPU๊ฐ ์๋ฃ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. (ํ์ค๋ฅผ ์ต์ ์กฑ์ผ๋ก ํ์ธํ์ธ์)
- ์ด๋ฒคํธ ํธ๋ค์ ๋ซ์ต๋๋ค.
'๐ Development Study > ๐ป Win32API' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ (0) | 2022.08.17 |
---|---|
๋ณ์ ๋ฐ ์ ํ (0) | 2022.08.17 |
ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ (0) | 2022.08.17 |
์ปดํ์ผ๋ฌ (0) | 2022.08.17 |
๋คํธ์ํฌ ํ๋ก๊ทธ๋๋ฐ์ ์ดํด (0) | 2022.07.27 |
๋๊ธ