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

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

KoreanFoodie's Study

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
์ €, ํŒŒํ”„๋ฆฌ์นด๋Š” ์‹œํ‚จ ์ ์ด ์—†๋Š”๋ฐ์š”?

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

์„ฑ๊ณตํ•œ ์‚ฌ๋žŒ๋“ค์ด ์ ˆ๋Œ€ ์•Œ๋ ค์ฃผ์ง€ ์•Š๋Š” ๋ถ€์˜ ์ถ”์›”์ฐจ์„ ์„ ํƒ€๋Š” ๋ฐฉ๋ฒ• (์ž์ฒญ ์ถ”์ฒœ๋„์„œ)

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

์žฌํ…Œํฌ 2021. 10. 29. 23:00
DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 10. ํ–‰๋ ฌ์„ ์ด์šฉํ•œ ๊ณต๊ฐ„ ์ƒ์„ฑ(view, projection)

DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 10. ํ–‰๋ ฌ์„ ์ด์šฉํ•œ ๊ณต๊ฐ„ ์ƒ์„ฑ(view, projection) D3DXMATRIX๋ฅผ ํ™œ์šฉํ•œ ๊ณต๊ฐ„ ์ƒ์„ฑ - D3DXMATRIX๋Š” ์ด 16๊ฐœ์˜ floatํ˜• ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. (์ •์˜ ํ™•์ธ) - ํ–‰๋ ฌ์€ ํ•ญ์ƒ ๋‹จ์œ„ํ–‰๋ ฌ๋กœ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•œ๋‹ค. (D3DXIdentityMatrix ํ•จ์ˆ˜) - ๊ณต๊ฐ„์ด ์ปค์ง€๊ฑฐ๋‚˜ ์ด๋™ํ•˜๋ฉด ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ๋„ ๋™์ผํ•˜๊ฒŒ ๋ณ€ํ˜•๋œ๋‹ค. (์œ„์น˜๋‚˜ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ) Projection ์•Œ์•„๋ณด๊ธฐ - ์›๊ทผํˆฌ์˜์€ ์ ˆ๋‘์ฒด ๋ชจ์–‘์˜ ์‹œ์•ผ ๊ณต๊ฐ„์„ ๊ฐ€์ง„๋‹ค - ์ง๊ตํˆฌ์˜์€ ์ง์œก๋ฉด์ฒด ๋ชจ์–‘์˜ ์‹œ์•ผ ๊ณต๊ฐ„์„ ๊ฐ€์ง„๋‹ค ๋‹จ์ถ•ํ‚ค - ์˜์—ญ ์ง€์ • ํ›„ Ctrl + H ๋‹จ์ถ•ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ๋ฒ”์œ„์˜ ํŠน์ • ๋‹จ์–ด๋“ค์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. (Alt + A ๋ˆ„๋ฅด๋ฉด ๋ชจ๋‘ ๋ฐ”๋€œ) ์ขŒํ‘œ๊ณ„ - OpenGL : RH..

Game Dev/DirectX 2021. 10. 28. 07:51