DirectX
๐ซ Q
๊ทธ๋ํฝ์ค API
- DirectX / OPENGL, ๋ญ๋ โCG ์ด๋ก ์ ์๊ณ ์๋คโ๋ฅผ ์ดํํ ์ ์๋
- ๊ทธ๋ํฝ์ค ๊ณต๋ถํ์ฌ๋๋ค ์ด๋์ ๋ ๊ณต๋ถํ์?
- ํ์ดํ๋ผ์ธ ์ญ ํ๊ณ ํ ์ค์ณ๋ง์ด๋ ์ํ๋ธ๋ ๋ฉ ํด๋ณด๋ฉด ์ถฉ๋ถ?
- https://www.opengl-tutorial.org/ -> ๋ ๋๋ง ๊ธฐ์ด?
๐ซ _
๐ซง _
https://www.youtube.com/live/NTvhVxSC_80?si=v6Buv00ygh2ETDdh&t=2997
- ์ฝ์๋ชจ๋ ํ ํธ๋ฆฌ์ค or ๋ฑ (๋ญ๋ ๊ฐ์) GDI๋ก ํฌ๋ก ์๋
-> Device Context์ ๋ํ ํ์ต Direct Draw๋ก ํ๋ฉด์ ์ ์ฐ์ด๋ณด๊ธฐ -> ํ์์๋๋ฐ, ์?
๋นํธ๋งต ์ ์ด๋ฅผ ๋ฐฐ์ธ ์ ์์ ํฌ์ธํฐ์ ๋ฅ์ํด์ง. ๊ทธ๋ํฝ ํ๋์จ์ด ๋ค๋ฃจ๋ ๊ธฐ์ด ์ด๋ฏธ์ง ๋ฐ์ดํฐ (ํ ์ค์ฒ) ์์์ Pitch์ ๊ฐ๋ ? Width * bytes in format๊ณผ Pitch ๋ ๋ญ๊ฐ ๋ค๋ฅธ๊ฐ?
์ด๋ฏธ์ง ๋ฐ์ดํฐ์์ Padding์ด ๊ณ ๋ ค๋ ํ row์ ๊ธธ์ด ์ Padding์ด ์ ๊ณ ๋ ค๋์ด์ผ ํด? -> ์ฑ๋ฅ - ๊ทธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ทธ๋ํฝ ํ๋์จ์ด์ 1:1 ๋งตํ ๋์ด์ผ ํ๋ ์ฃผ์์ผ ์๋ ์์ผ๋ฏ๋กโฆ ๊ทธ๋ํฝ์ค๋ ๊ฒฐ๊ตญ์ ํ๋์จ์ด ๊ตฌ์กฐ๋ฅผ ์์์ผํจ ํฝ์ ๋ Padding์ด ์์์๋
Direct Draw๋ก ๊ฐ๋จํ ๊ฒ์ ๋ง๋ค์ด๋ณด๊ธฐ ์ด๋ฏธ์ง ๋ค๋ฃจ๋ ๋ฒ ๋ง์ฐ์ค์ ํค๋ณด๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ COM ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ = win32/ MS์ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ ์ดํดํ๊ธฐ ๋คํธ์ํฌ ํ๋ก๊ทธ๋๋ฐ -> windock + ๋ฉํฐ์ค๋ ๋ + IOCP ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ -> D3D11 -> D3D12 ๊ด์ฐฎ์ dx11์ฑ ํ๋ ์ฌ์ ์ ์ผ๊ฐํ ๊ทธ๋ฆฌ๊ธฐ ๊ทธ ๋ค์์๋ ๋ชจ๋ธ ํ์ผ๋ค ๋ก๋ฉํด์ ๋ณด์ฌ์ฃผ๊ธฐ (FBX ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ผ๋ ๊ทธ๊ฑธ ์ฌ์ฉํด๋ ๋ ๋ฏ) ๊ทธ๋ฆฌ๊ณ ์ ฐ์ด๋ ์ด๊ฒ์ ๊ฒ ์์ฑํด๋ณด๊ธฐ (์ด์ฐจํผ dx11์ ์ผ๋ถ์ผ๋ฏ..) ์ด์ ๋๊ฐ ๋๋ฉด ์ง์ํ ์ ๋๋ ๋ ๊ฑฐ ๊ฐ์์.
๋ง์ํ์ ๊ฒ ์ฒ๋ผ dx11 ๊ณต๋ถํ๊ณ ์์ฉ์์ง ์ ๋ํฐ, ์ธ๋ฆฌ์ผ๋ ๊ณต๋ถํ์ต๋๋ค ๊ทธ๋ํฝ์ค๋ก ๊ฐ๋ฉด ๊ทธ๋ํฝ์ค ํ์ดํ๋ผ์ธ์ ์ผ๋ง๋ ์ดํดํ๊ณ ์๋์ง๊ฐ ์ค์ํ ๊ฒ ๊ฐ๊ณ โฆ ์ํ๋ ์ ฐ์ด๋๋ฅผ ์์ฉ์์ง์์ ์ ์ฉ์ํฌ ์ค ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค
๊ทธ๋ํฝ ์์ง๋์ด๋ผ๊ณ ํ๋ฉด TA๋ก ๋ณด๋ ๊ฒ ๊ฐ์๋ฐ ๊ทผ๋ฐ ์ผ๋จ dx11๋ง ํด๋ ์์์ผํ ์ข ์์ผ๋ ์๊ฑฐ๋ฅผ ํ์๊ณ ๊ทธ๋ฆด๋ ์ต์ ํ๊ธฐ๋ฒ๋ค๋ ์ ์ฉ์ํค๋ฉด ์ง์ํ ๋ ์ดํ์ด ๋ ๊ฒ ๊ฐ์ด๋