2020. 7. 28. 19:59ใPROGRAMMING/DirectX 12
[ ๋ทฐ ํฌํธ(Viewport) ]
๋ทฐํฌํธ(Viewport)๋ ๋ ๋๋ง์ ํ ๋ ๋ํ๊ฒ(ํ๋ฉด๋ฒํผ) ์์ญ์ ๋ํ๋ด๋ ๊ตฌ์กฐ์ฒด์ด๋ค.
๋ทฐํฌํธ๋ฅผ ์ค์ ํ๋ ๊ฒ์ ๋ ๋๋งํ ํ๋ฉด ์์ญ์ ์ค์ ํ๋ ๊ฒ์ด๋ค.
๋ณดํต ๋ ๋ํ๊ฒ ์ ์ฒด๋ฅผ ์ค์ ํ๋ค. (0, 0, WIDTH, HEIGHT) ๊น์ด ๊ฐ์ 0.0f ~ 1.0f์ด๋ค. ๋ ์คํฐ ๋ผ์ด์ ๋จ๊ณ์์ ๋ค์ ํ๋ฉด์ ๊ฐ์ฒด๋ค์ ๋งคํํ ๋ ๊น์ด ๊ฐ์ 0 ~ 1๋ก ๋ฐ๊ฟ์ค๋ค.
CommandList๊ฐ Reset()์ด ๋๋ฉด ๋ฐ๋์ ๋ค์ ๋ทฐํฌํธ๋ฅผ Set ํด์ค์ผ ํ๋ค.
[ ์์ ์ฌ๊ฐํ(ScissorRect) ]
์์ ์ฌ๊ฐํ์ D3D12_RECT์ ์ ์ธํด์ ๋ด์ฉ์ ์ฑ์์ฃผ๋ฉด ๋๋ค.
RECT๊ตฌ์กฐ์ฒด๊ฐ D3D12_RECT๋ก typedef ๋์ด์๋ค.
์์ ์ฌ๊ฐํ์ ๋ ๋๋ง์์ ์ ๊ฑฐํ์ง ์์ ์์ญ์ ์ค์ ํ๋ ๊ฒ์ด๋ค.
์์ ์ฌ๊ฐํ์ ํฌํจ๋์ง ์์ ์์ญ์ด ๋ ๋๋ง(๋ ์คํฐ๋ผ์ด์ )์์ ์ ๊ฑฐ๋๋ค.
์ฆ, ํน๋ณํ ์ด์ ๊ฐ ์๋ค๋ฉด ์์ ์ฌ๊ฐํ์ ํฌ๊ธฐ๋ ๋ทฐํฌํธ ์ฌ๊ฐํ๊ณผ ๋๊ฐ์ด ์ค์ ํ๋ค.
๋ทฐํฌํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก CommandList๊ฐ Reset()์ด ๋ ๋ ๋ค์ ์์ ์ฌ๊ฐํ์ ์ค์ ํด์ผ ํ๋ค.
m_Viewport๋ D3D12_VIEWPORT ๊ตฌ์กฐ์ฒด์ด๊ณ ,
m_ScissorRect๋ D3D12_RECT ๊ตฌ์กฐ์ฒด์ด๋ค.
RSSetViewports()์ RSSetScissorRects()์ ์ฒซ ๋ฒ์งธ ์ธ์๋ ๊ฐ๊ฐ ๋ทฐํฌํธ์ ์์ ์ฌ๊ฐํ์ ๊ฐ์์ด๋ค.
'PROGRAMMING > DirectX 12' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DirectX 12 ๋ฃจํธ ์๋ช (Root Signature)๊ณผ ํ์ดํ๋ผ์ธ ์ํ(Pipeline State) (0) | 2020.08.01 |
---|---|
DirectX 12 ๋ฆฌ์์ค ์ฅ๋ฒฝ(Resource Barrier) (0) | 2020.07.29 |
DirectX 12 ์ฅ์น ์ด๊ธฐํ ์ดํดํ๊ธฐ (5) - part 2 (0) | 2020.07.27 |
DirectX 12 ์ฅ์น ์ด๊ธฐํ ์ดํดํ๊ธฐ (5) - part 1 (3) | 2020.07.25 |
DirectX 12 ์ฅ์น ์ด๊ธฐํ ์ดํดํ๊ธฐ (4) (0) | 2020.07.16 |