Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก2021/11 (22)

KoreanFoodie's Study

์žฌํ…Œํฌ / ํˆฌ์ž ์„œ์  ๋ฆฌ๋ทฐ : <๋ณด๋„ ์„€ํผ์˜ ๋ˆ> [๋ณด๋„ ์„€ํผ] (์žฌํ…Œํฌ, ๋ถ€์žํ•™, ๊ฒฝ์ œ์  ์ž์œ , ์ž์‚ฐ ๊ด€๋ฆฌ, ๋ˆ ๊ด€๋ฆฌ, ์ €์ถ•, ์ฃผ์‹, ๋ถ€๋™์‚ฐ, ํˆฌ์ž)

๊ฒฝ์ œ์  ์ž์œ ๋ฅผ ์œ„ํ•ด ์ฝ๊ณ  ์ •๋ฆฌํ•œ ๊ธ€๋“ค์„ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. ์žฌํ…Œํฌ, ๋ถ€์žํ•™, ๊ฒฝ์ œ์  ์ž์œ , ์ž์‚ฐ ๊ด€๋ฆฌ, ๋ˆ ๊ด€๋ฆฌ, ์ €์ถ•, ์ฃผ์‹, ๋ถ€๋™์‚ฐ, ํˆฌ์ž ๋“ฑ์— ๊ด€์‹ฌ์ด ๋งŽ์€ ๋ถ„๋“ค๊ป˜ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค. ์ฑ…์˜ ๊ฒฝ์šฐ, ์•ก๊ธฐ์Šค๋งŒ ๋ฝ‘์•„์„œ ์ „๋‹ฌํ•ด ๋“œ๋ฆฌ๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. 1์žฅ : ์ด์ œ๋Š” ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๋ผ ๋ˆ์€ ์–ธ์ œ๋‚˜ ์šฐ๋ฆฌ๊ฐ€ ๋ถ€์—ฌํ•˜๋Š” ๋งŒํผ์˜ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค. ๋ˆ ๋ฌธ์ œ๋กœ ๊ณค๋ž€์„ ๊ฒช๋Š” ๋™์•ˆ ๋ˆ์€ ํ•„์š” ์ด์ƒ ์ค‘์š”ํ•œ ๊ฒƒ์ด ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค. ๊ฐ€์น˜์™€ ๋ชฉํ‘œ๊ฐ€ ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์šฐ๋ฆฌ๋Š” ์•ž์œผ๋กœ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์—†๋‹ค. ๋‚™๊ด€์ฃผ์˜๋Š” ๋ชจ๋“  ์ผ์˜ ๊ธ์ •์ ์ธ ๋ฉด๋งŒ ๋ณด๊ฒŒ ํ•œ๋‹ค. ์ž์‹ ๊ฐ์€ ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋‘์šด ๋ฉด๊นŒ์ง€๋„ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํ™•์‹ ์„ ์ค€๋‹ค. ์ž์‹ ๊ฐ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์€ ๊ณผ๊ฑฐ ๊ฒฝํ—˜์„ ํ† ๋Œ€๋กœ '๋‚˜๋Š” ๋ฌธ์ œ์—†์–ด' ๋ผ๊ณ  ์Šค์Šค๋กœ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋‹ค. ๊ฒฝ์ œ์  ์–ด๋ ค์›€์€..

์žฌํ…Œํฌ 2021. 11. 16. 18:49
4-1. Direct3D ๊ธฐ์ดˆ : COM, ํ…์Šค์ณ ํ˜•์‹, ๊ตํ™˜์‚ฌ์Šฌ๊ณผ ํŽ˜์ด์ง€ ์ „ํ™˜, ๊นŠ์ด ๋ฒ„ํผ๋ง, ๋‹ค์ค‘ ํ‘œ๋ณธํ™”, DXGI, ์ƒ์ฃผ์„ฑ

'DirectX 12๋ฅผ ์ด์šฉํ•œ 3D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ'์„ ์ฝ์œผ๋ฉฐ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ณ  ์ค‘์š”ํ•œ ๋ถ€๋ถ„์„ ๊ธฐ๋กํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. 4-1. Direct3D ๊ธฐ์ดˆ : COM, ํ…์Šค์ณ ํ˜•์‹, ๊ตํ™˜์‚ฌ์Šฌ๊ณผ ํŽ˜์ด์ง€ ์ „ํ™˜, ๊นŠ์ด ๋ฒ„ํผ๋ง, ๋‹ค์ค‘ ํ‘œ๋ณธํ™”, DXGI, ์ƒ์ฃผ์„ฑ ์•Œ์•„ ๋‘์–ด์•ผ ํ•  ๊ฐœ๋…๋“ค : COM(Component Object Model) COM์€ DirectX์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋…๋ฆฝ์„ฑ๊ณผ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. COM ๊ฐ์ฒด๋ฅผ C++ ํด๋ž˜์Šค๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ์‚ฌ์šฉํ•ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” COM ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•จ์ˆ˜๋“ค๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜๊ธฐ๋งŒ ํ•œ๋‹ค. (new๋กœ ์ƒ์„ฑํ•  ์ผ์ด ์—†๋‹ค๋Š” ๋œป์ด๋‹ค.) ๋˜ํ•œ delete๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ release๋ฅผ ํ†ตํ•ด ๋” ์ด์ƒ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ์„ ๋ช…์‹œํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ..

Game Dev/DirectX 2021. 11. 16. 11:40
3. ์„ ํ˜•๋ณ€ํ™˜, ์•„ํ•€๋ณ€ํ™˜, ์ขŒํ‘œ ๋ณ€ํ™˜, DirectXMath ๋ณ€ํ™˜ ํ•จ์ˆ˜

'DirectX 12๋ฅผ ์ด์šฉํ•œ 3D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ'์„ ์ฝ์œผ๋ฉฐ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ณ  ์ค‘์š”ํ•œ ๋ถ€๋ถ„์„ ๊ธฐ๋กํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. 3. ์„ ํ˜•๋ณ€ํ™˜, ์•„ํ•€๋ณ€ํ™˜, ์ขŒํ‘œ ๋ณ€ํ™˜, DirectXMath ๋ณ€ํ™˜ ํ•จ์ˆ˜ ์•Œ์•„ ๋‘์–ด์•ผ ํ•  ๊ฐœ๋…๋“ค : ์„ ํ˜•๋ณ€ํ™˜ ์„ ํ˜•๋ณ€ํ™˜์€ ๋ฒกํ„ฐ๋“ค ์‚ฌ์ด์˜ ๊ฒฐํ•ฉ ์—ฐ์‚ฐ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค. u + v๋Š” ๋ฒกํ„ฐ๋ผ๋ฆฌ์˜ ํ•ฉ์ด๊ณ , k * v๋Š” ๋ฒกํ„ฐ v์— ์Šค์นผ๋ผ ๊ฐ’ k๋ฅผ ๊ณฑํ•œ scaling์ด๋‹ค. ํšŒ์ „ ๋ฒกํ„ฐ v๋ฅผ ์ถ• n์— ๋Œ€ํ•ด ์ตœ์ „ํ•œ๋‹ค๊ณ  ํ•˜์ž. ์ด๋Ÿฌํ•œ ๋ณ€ํ™˜์—์„œ ํšŒ์ „๊ฐ์€ n์„ ๋‚ด๋ ค๋‹ค๋ณด๋Š” ๋ฐฉํ–ฅ(์ฆ‰, n์˜ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ)์„ ๊ธฐ์ค€์ด๋กœ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ์ธก์ •ํ•œ๋‹ค. ๋˜ํ•œ ||n|| = 1 ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์šฐ์„  v๋ฅผ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋ถ„ํ•ดํ•œ๋‹ค. ํ•˜๋‚˜๋Š” n์— ํ‰ํ–‰ํ•œ ๋ถ€๋ถ„์ด๊ณ  ๋˜ ํ•˜๋‚˜๋Š” n์— ์ˆ˜์ง์ธ(์ง๊ต) ๋ถ€๋ถ„์ด๋‹ค. ํ‰ํ–‰ํ•œ ๋ถ€๋ถ„์€ ๊ทธ๋ƒฅ proj(v)์ด๋‹ค...

Game Dev/DirectX 2021. 11. 15. 21:06
2. DirectXMath ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ–‰๋ ฌ ๋‹ค๋ฃจ๊ธฐ

'DirectX 12๋ฅผ ์ด์šฉํ•œ 3D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ'์„ ์ฝ์œผ๋ฉฐ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ณ  ์ค‘์š”ํ•œ ๋ถ€๋ถ„์„ ๊ธฐ๋กํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. 2. DirectXMath ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ–‰๋ ฌ ๋‹ค๋ฃจ๊ธฐ ์•Œ์•„ ๋‘์–ด์•ผ ํ•  ๊ฐœ๋…๋“ค : ๊ฐ„๋‹จํ•œ ํ–‰๋ ฌ ์—ฐ์‚ฐ๋“ค (ํ–‰๋ ฌ์˜ ๊ณฑ, ์—ญํ–‰๋ ฌ, ์—ฌ์ธ์ˆ˜, Transpose, Cramer's Rule ๋“ฑ)์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์—ฌ๊ธฐ์—์„œ๋Š” ๋‹ค๋ฃจ์ง€ ์•Š๋Š”๋‹ค. ๋ฒกํ„ฐ์™€ ํ–‰๋ ฌ ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜์ž. ๋Œ€์‹  ๊ผญ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๊ฒƒ ํ•œ ๊ฐ€์ง€๋งŒ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ ค ํ•œ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ : ์—ญํ–‰๋ ฌ๊ณผ ํ–‰๋ ฌ์‹์˜ ๊ธฐํ•˜ํ•™์ ์ธ ์˜๋ฏธ ๋‘ ๋ฒกํ„ฐ๋กœ ์ด๋ฃจ์–ด์ง„ ํ–‰๋ ฌ์˜ ํ–‰๋ ฌ์‹(determinant)์€ ํ‰ํ–‰์‚ฌ๋ณ€ํ˜•์˜ ๋„“์ด์ด๋‹ค. ์ด๋Ÿฌํ•œ ํ‰ํ–‰์‚ฌ๋ณ€ํ˜•์„ ๋‹จ์œ„๋ฒกํ„ฐ ๋‘ ๊ฐœ๋กœ ์ด๋ฃจ์–ด์ง„ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž(Identity Matrix ๊ฐ™์€ ๋…€์„..

Game Dev/DirectX 2021. 11. 15. 15:18
๋ชจ๋˜ C++ ์ž…๋ฌธ 1 - C++ ๊ธฐ์ดˆ (์ดˆ๊ธฐํ™”, ๋ฆฌํ„ฐ๋Ÿด, ์˜ˆ์™ธ, ํฌ์ธํ„ฐ)

double square_root(double x) noexcept {...} '๋ชจ๋˜ C++ ์ž…๋ฌธ'์„ ์ฝ์œผ๋ฉฐ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ณ  ์ค‘์š”ํ•œ ๋ถ€๋ถ„์„ ๊ธฐ๋กํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ชจ๋˜ C++ ์ž…๋ฌธ 1 - C++ ๊ธฐ์ดˆ (์ดˆ๊ธฐํ™”, ๋ฆฌํ„ฐ๋Ÿด, ์˜ˆ์™ธ, ํฌ์ธํ„ฐ) ๋ณ€์ˆ˜ ๋ณ€์ˆ˜๋Š” ๊ฐ€๋Šฅํ•œ ๋Šฆ๊ฒŒ ์„ ์–ธํ•˜๋ผ. ์ผ๋ฐ˜์ ์œผ๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๊ธฐ ์ „์—๋Š” ์„ ์–ธํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋ฆฌํ„ฐ๋Ÿด ๊ฐ’ ๋’ค์— ๋ฌธ์ž๋ฅผ ๋ถ™์—ฌ ๋ฆฌํ„ฐ๋Ÿด์ž„์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌํ„ฐ๋Ÿด ํƒ€์ž… 2 int 2u unsigned 2l long 2ul unsigned long 2.0 double 2.0f float 2.0l long double ์œ ์šฉํ•จ : ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ณต์†Œ์ˆ˜๋ฅผ ์œ„ํ•œ ํƒ€์ž…์„ ์ œ๊ณตํ•œ๋‹ค. std::complex z(1.3, 2.4), z2; ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ float์ด์™ธ์˜ ํƒ€์ž…๊ณผ ์—ฐ์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค...

Tutorials/C++ : Beginner 2021. 11. 14. 13:18
ํƒ€์ดํƒ„์˜ ๋„๊ตฌ๋“ค : ์„ฑ๊ณตํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๊ณตํ†ต์ ์ด ์žˆ๋‹ค (feat. ์ž์ฒญ ์ถ”์ฒœ๋„์„œ)

์ด๋ฒˆ ์„œํ‰์—์„œ๋Š” 'ํƒ€์ดํƒ„์˜ ๋„๊ตฌ๋“ค์ด๋ผ๋Š” ์ฑ…์„ ๋‹ค๋ฃจ๋ฉฐ, ๊ฒฝ์ œ์  ์ž์œ ๋ฅผ ์–ป์€ ์‚ฌ๋žŒ๋“ค์ด ๊ณตํ†ต์ ์œผ๋กœ ๊ผฝ๋Š” ๋น„๊ฒฐ๊ณผ ๊ฐ์ž์˜ ๋ฌด๊ธฐ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ์ œ์  ์ž์œ ๋ฅผ ์–ป์€, ์ •์ƒ์˜ ๊ฑฐ์ธ๋“ค ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์„ฑ๊ณตํ•˜๋Š” ๊ฟˆ์„ ๊พผ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ๊ทธ๊ฒƒ์„ ์ด๋ฃจ๋Š” ์‚ฌ๋žŒ์€ ๋งค์šฐ ์†Œ์ˆ˜์ด๋‹ค. ์ˆ˜๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ๊ทธ๋“ค์„ ๋ณด๋ฉฐ ์งˆ๋ฌธ์„ ๋˜์ง„๋‹ค. '์„ฑ๊ณตํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋„๋Œ€์ฒด ๋ฌด์—‡์ด ๋‹ค๋ฅด๊ธฐ์— ์ € ์œ„์น˜์— ์„ค ์ˆ˜ ์žˆ์—ˆ์„๊นŒ?' ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์ด ์„ฑ๊ณตํ•˜๊ฒ ๋‹ค๋Š” "๊ฟˆ"์„ ๊ฟ€ ๋•Œ, ๊ฑฐ์ธ๋“ค์€ ์„ฑ๊ณตํ•˜๊ฒ ๋‹ค๋Š” "๋ชฉํ‘œ"๋ฅผ ์„ธ์šด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž์‹ ๋“ค์ด ๊ฐ–๊ณ  ์žˆ๋Š” ํŠผํŠผํ•œ ๊ฐˆ๊ณ ๋ฆฌ๋ฅผ ์ด์šฉํ•ด, ์„ฑ๊ณต์ด๋ผ๋Š” ์ •์ƒ๊นŒ์ง€ ์šฐ์งํ•˜๊ฒŒ ๊ธฐ์–ด์˜ฌ๋ผ ๊ฐ„๋‹ค. ์ฑ…์—์„œ ์†Œ๊ฐœํ•˜๋Š” 'ํƒ€์ดํƒ„์˜ ๋„๊ตฌ๋“ค'์ด๋ž€, ํฐ ์„ฑ๊ณต์„ ๊ฑฐ๋‘” ํƒ€์ดํƒ„๋“ค์ด ์ž์‹ ์˜ ์„ฑ๊ณต์„ ์ผ๊ตฌ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ๋˜ '๊ฐˆ๊ณ ๋ฆฌ'์ธ ์Šต๊ด€๋“ค, ๋งˆ์Œ๊ฐ€์ง ํ˜น์€ ๊ธฐ๋ฏน๋“ค..

์ง€๊ธˆ ๋‹น์žฅ ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ŠคํŠธ๊ฐ€ ๋˜์•ผ ํ•˜๋Š” ์ด์œ  : ๋‚˜๋Š” ๋‹จ์ˆœํ•˜๊ฒŒ ์‚ด๊ธฐ๋กœ ํ–ˆ๋‹ค ์š”์•ฝ, ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ฆ˜์˜ ํ•ต์‹ฌ ๊ฐœ๋…

์„œ์šธ์‹œ ๊ต์œก์ฒญ ์ „์ž๋„์„œ๊ด€์— ์šฐ๋ฆฌ๋‚˜๋ผ์— ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ฆ˜์„ ์œ ํ–‰์‹œ์ผฐ๋˜ ์ฑ… ์ค‘ ํ•˜๋‚˜์ธ "๋‚˜๋Š” ๋‹จ์ˆœํ•˜๊ฒŒ ์‚ด๊ธฐ๋กœ ํ–ˆ๋‹ค"๊ฐ€ ์žˆ๊ธธ๋ž˜ ๋ฌด๋ฃŒ๋กœ ๋นŒ๋ ค ์ฝ์–ด ๋ณด์•˜๋‹ค. ์‚ฌ์‹ค ํ‰์†Œ์—๋„ ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ฆ˜์„ ๋™๊ฒฝํ–ˆ๋˜ ํ„ฐ๋ผ, ์ƒ๋‹นํžˆ ์™€๋‹ฟ๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•˜๋˜ ์ฑ…์ด์—ˆ๋‹ค. ์‚ฌ์‹ค ํ•ต์‹ฌ์€ ๊ฐ„๋‹จํ•˜๋‹ค. 1. ๋ฌผ๊ฑด์„ 2๋ฐฐ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ํ•ด์„œ 2๋ฐฐ ํ–‰๋ณตํ•ด์ง€์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ 2. ๋ฌผ๊ฑด์„ ์‚ฌ๊ณ  ๋ชจ์œผ๋ฉด์„œ ๋ฌผ๊ฑด์ด ๊ณต๊ฐ„๊ณผ ๋‚˜ ์ž์‹ ์„ ์†Œ์œ ํ•˜๊ฒŒ ๋œ๋‹ค๋Š” ๊ฒƒ 3. ๋ฌผ๊ฑด์— ๋นผ์•—๊ธฐ๋˜ ์‹œ๊ฐ„๊ณผ ์—๋„ˆ์ง€๋ฅผ ์˜จ์ „ํžˆ ๋‚ด ์ž์‹ ์—๊ฒŒ ์Ÿ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ ์ด ์„ธ๊ฐ€์ง€๋กœ ์š”์•ฝํ•ด๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ์•„, ๋ฌผ๋ก  ์“ธ๋ฐ์—†๋Š” ์ง€์ถœ์ด ์ค„์–ด๋“ค๊ณ , ์ƒํ™œ์ด ์กฐ๊ธˆ ๋” ์—ฌ์œ ๋กœ์›Œ ์ง€๋Š” ๋ถ€์ˆ˜์ž…์€ ์žˆ๊ฒ ๋‹ค. ๋‹ค๋งŒ, ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ฆ˜์€ ์ ˆ์•ฝ์ด ์•„๋‹Œ '๊ผญ ํ•„์š”ํ•œ ์†Œ์œ ๋ฅผ ํ•˜๋Š” ๊ฒƒ'์ด๋‹ค. ๋ผ์ดํ”„์Šคํƒ€์ผ ๋‚ด์ง€๋Š” ์ฒ ํ•™์— ๊ฐ€๊นŒ์šด ๊ฒƒ์ด๋ผ๊ณ  ํ•ด์„ํ•˜๋Š” ๊ฒƒ์ด ์ž์—ฐ์Šค..

1. ๋ฒกํ„ฐ์˜ ๊ฐœ๋…๊ณผ DirectXMath ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฒกํ„ฐ

'DirectX 12๋ฅผ ์ด์šฉํ•œ 3D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ'์„ ์ฝ์œผ๋ฉฐ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ณ  ์ค‘์š”ํ•œ ๋ถ€๋ถ„์„ ๊ธฐ๋กํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. 1. ๋ฒกํ„ฐ์˜ ๊ฐœ๋…๊ณผ DirectXMath ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฒกํ„ฐ ์•Œ์•„ ๋‘์–ด์•ผ ํ•  ๊ฐœ๋…๋“ค : - ์ง๊ต ํˆฌ์˜ : projection์ด๋ผ๊ณ  ํ•˜๋Š” ์ด ๊ฐœ๋…์€, ๊ทธ๋ƒฅ ๊ธฐ๋ณธ์ด๋‹ค. proj(w)v๋ผ๊ณ  ํ•˜๋ฉด v๋ฒกํ„ฐ ์ค‘ w๋ฒกํ„ฐ ๋ฐฉํ–ฅ์˜ ์š”์†Œ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. - ๊ทธ๋žŒ ์Šˆ๋ฏธํŠธ ์ง๊ตํ™” (gram schmidt orthogonalization) ๊ทธ๋žŒ ์Šˆ๋ฏธํŠธ ์ง๊ตํ™”๋Š” ์„ ํ˜•๋Œ€์ˆ˜ํ•™์„ ๋“ค์œผ๋ฉด ๋ชจ๋ฅผ ์ˆ˜๊ฐ€ ์—†์„ ์ •๋„๋กœ ์ค‘์š”ํ•œ ์ •๋ฆฌ์ด๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ, N์ฐจ์› ๊ณต๊ฐ„์˜ ๋ฒกํ„ฐ๋ฅผ ๊ฐ ์ฐจ์›์„ ๋Œ€ํ‘œํ•˜๋Š” ๋ฒกํ„ฐ๋“ค๋กœ ๋ถ„ํ•ด(decomposition)ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ•์ด๋‚˜ ์ฆ๋ช…์€ ์•„๋ž˜ ์‚ฌ์ง„์„ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค. - 2์ฐจ์› ์œ ์‚ฌ ์™ธ์  : ์‚ฌ..

Game Dev/DirectX 2021. 11. 9. 21:04