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

๋ชฉ๋ก์ „์ฒด ๊ธ€ (1099)

KoreanFoodie's Study

ํƒ€์ดํƒ„์˜ ๋„๊ตฌ๋“ค : ์„ฑ๊ณตํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๊ณตํ†ต์ ์ด ์žˆ๋‹ค (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
DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 14. Texture ์„ค์ •๊ณผ ์ด๋ฏธ์ง€ ๋„์šฐ๊ธฐ

DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 14. Texture ์„ค์ •๊ณผ ์ด๋ฏธ์ง€ ๋„์šฐ๊ธฐ ํ™”๋ฉด์— ์ด๋ฏธ์ง€ ๋„์šฐ๊ธฐ - ID3D11ShaderResourceView๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…์Šค์ณ ์ž์› ์ƒ์„ฑ - ํ…์Šค์ณ ์ขŒํ‘œ๊ณ„๋Š” ์ขŒ์ธก ์ƒ๋‹จ์ด ์‹œ์ž‘์ ์ด๊ณ , 0~1 ๋ฒ”์œ„๋กœ ์ •๊ทœํ™”๋˜์–ด ์žˆ์Œ - HLSL์—์„œ๋Š” Texture2D ์ž๋ฃŒํ˜•์œผ๋กœ ํ…์Šค์ณ ์ž์›์„ ๋ฐ›๋Š”๋‹ค - ํ•ด๋‹น ํ”ฝ์…€์ด ๊ทธ๋ ค๋‚ผ ํ…์Šค์ณ ์ƒ‰์ƒ์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด Sample ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค ํˆฌ๋ช…ํ•œ ํ”ฝ์…€ ์ œ๊ฑฐํ•˜๊ธฐ - clip() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค. - if ๋ฌธ๊ณผ discard ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•ด ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค. Execute.h ๋จผ์ € ํ—ค๋” ํŒŒ์ผ์—์„œ ID3D11ShaderResourceView๋ฅผ ๋งŒ๋“ค์–ด ์ค€๋‹ค. struct VertexTexture { D3DXVECTOR3 posit..

Game Dev/DirectX 2021. 11. 3. 22:06
์ €, ํŒŒํ”„๋ฆฌ์นด๋Š” ์‹œํ‚จ ์ ์ด ์—†๋Š”๋ฐ์š”?

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