728x90
[unreal] Gamemode, UE_LOG
๐ŸŽฏ game engine/โ—ฝ ์–ธ๋ฆฌ์–ผ(unreal)2025. 3. 8. 19:43[unreal] Gamemode, UE_LOG

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

[unreal] ์›€์ง์ด๋Š” ๋ฌผ์ฒด์— ๊ฐ€๋งŒํžˆ ์žˆ๋Š” ํ”Œ๋ ˆ์ด์–ด ๋šซ๋ฆผํ˜„์ƒ
๐ŸŽฏ game engine/โ—ฝ ์–ธ๋ฆฌ์–ผ(unreal)2025. 3. 8. 19:00[unreal] ์›€์ง์ด๋Š” ๋ฌผ์ฒด์— ๊ฐ€๋งŒํžˆ ์žˆ๋Š” ํ”Œ๋ ˆ์ด์–ด ๋šซ๋ฆผํ˜„์ƒ

ํ˜„์ƒ: ์›€์ง์ผ๋•Œ๋Š” ์ถฉ๋Œ์ฒ˜๋ฆฌ ok, ์›€์ง์ด์ง€ ์•Š์„ ๋•Œ๋Š” ์ถฉ๋Œ์ฒ˜๋ฆฌ no ์บ๋ฆญํ„ฐ ์ฝ”๋“œ๋Š” ์›€์ง์ด์ง€ ์•Š๋Š” ํ•œ ์ฝœ๋ฆฌ์ „์„ ํ™•์ธ ํ•˜์ง€ ์•Š๋Š”๋‹ค.  ํ•ด๊ฒฐ : udemy - ใ€ํ•œ๊ธ€์ž๋ง‰ใ€‘ Unreal Engine 5 C++ ๊ฐœ๋ฐœ์ž: C++ ํ•™์Šตํ•˜๊ณ  ๋น„๋””์˜ค ๊ฒŒ์ž„ ์ œ์ž‘ํ•˜๊ธฐ ์ด๋ ‡๊ฒŒ๋งŒ ํ–ˆ์„ ๋•Œ ๋ฌธ์ œ์ : ํ”Œ๋ ˆ์ด์–ด ์บ๋ฆญํ„ฐ์˜ ์›€์ง์ž„์„ ์žƒ์–ด๋ฒ„๋ฆฐ๋‹ค. ์—‘ํ„ฐ์˜ ๋ฐฉํ–ฅ๋„ ์ ์šฉํ•ด์ค€๋‹ค.  ์•ผ๋งค์ธ์ง€ ๋ชจ๋ฅด์ง€๋งŒ..? ์ผ๋‹จ ๊ฐ•์˜ ๋“ค์œผ๋ฉด์„œ ๊ฟ€ํŒ ๊ฐ™์•„์„œ ๋ฉ”๋ชจ..ํ•ด๋‘”๋‹ค.

[๊ฒŒ์ž„์ˆ˜ํ•™] ์›๊ณผ ๊ฐ๋„ (์‚ผ๊ฐํ˜•, ์‚ผ๊ฐํ•จ์ˆ˜.. ๋ถ€์ˆ˜๊ธฐ)
๐ŸŽฏ game engine/โ—ฝ ๊ฒŒ์ž„ ์ˆ˜ํ•™2025. 3. 6. 17:01[๊ฒŒ์ž„์ˆ˜ํ•™] ์›๊ณผ ๊ฐ๋„ (์‚ผ๊ฐํ˜•, ์‚ผ๊ฐํ•จ์ˆ˜.. ๋ถ€์ˆ˜๊ธฐ)

๊ฒŒ์ž„์ˆ˜ํ•™ ๊ธฐ๋ณธ์ ์ธ ๊ฑฐ ์ง„์งœ ์ œ๋Œ€๋กœ ์•Œ์ž... ์ œ๋Œ€๋กœ ๋ชจ๋ฅด๋ฉด ์ชฝํŒ”๋ฆฐ์ง€ ์•Œ๊ณ  ์—ด์‹ฌํžˆ ํ•˜์ž... ์ข€ ์—ด์‹ฌํžˆ ์‚ด์•„ ๋‚˜๋ž€ ๋†ˆ!!๐Ÿ˜’ ํŒŒ์ดํŒ…!! ๐Ÿ˜Š1. ์šฉ์–ด ์ •๋ฆฌ์ง€๋ฆ„ (Diameter) ๋ฐ˜์ง€๋ฆ„ (Radius)๋‘˜๋ ˆ (Circumference / Perimeter) = ์›์ฃผ ์ค‘์‹ฌ (Center / Origin) ํ˜ธ (Arc) ๋ถ€์ฑ„๊ผด (Sector) ๊ฐ๋„ (Degree)์›์ฃผ๋ฅผ ์ง€๋ฆ„์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ํ•ญ์ƒ ์ผ์ •ํ•œ ๊ฐ’์ด ๋‚˜์˜จ๋‹ค. ์ด๋ฅผ ์›์ฃผ์œจ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์›์˜ ์ง€๋ฆ„์— ๋Œ€ํ•œ ์›์ฃผ์˜ ๋น„์œจ( π )์ด๋‹ค. ํŒŒ์ด(π)๋Š” ์›์ฃผ๋ฅผ ์ง€๋ฆ„์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ด๋‹ค. ํƒ€์šฐ(τ)๋Š” ์›์ฃผ๋ฅผ ๋ฐ˜์ง€๋ฆ„์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ด๋ฉฐ, ( 2π )์™€ ๊ฐ™๋‹ค. 2. ๊ฐ๋„ (Degree/ θ)์™€ ๋ผ๋””์•ˆ (Radian / Rad) ๋ผ๋””์•ˆ (Radian / Rad) : ์–ด๋Š ํ•œ ์› ์œ„์˜..

[unreal - udemy/blueprint] "WarehouseWreckage" Part_1
๐ŸŽฏ game engine/โ—ฝ ์–ธ๋ฆฌ์–ผ(unreal)2025. 2. 25. 14:53[unreal - udemy/blueprint] "WarehouseWreckage" Part_1

ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ๊ธธ์ด์—๋Š” ์ œํ•œ์ด ์žˆ๊ณ , ํŠน์ˆ˜ ๋ฌธ์ž๋„ ์ง€์–‘ํ•ด์•ผ ํ•œ๋‹ค.ํ”„๋กœ์ ํŠธ ๋กœ๊ทธ๋ฅผ ์—…๋กœ๋“œ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” https://gist.github.com/ ์— ๋กœ๊ทธ ๋ถ™์—ฌ์„œ CreateSecret Gist๋กœ ์—…๋กœ๋“œ ํ•˜๋Š”๊ฒŒ ์˜ˆ์˜๋ผ๊ณ  ํ•œ๋‹ค.    1. ๋ธ”๋ฃจํ”„๋ฆฐํŠธ ์šฉ์–ด ์ •๋ฆฌ ์ด๋ฒคํŠธ ๊ทธ๋ž˜ํ”„(event graph) - ๋ธ”๋ฃจํ”„๋ฆฐํŠธ๋ฅผ ๊ทธ๋ฆด ์บ”๋ฒ„์Šค ( The canvas for our Blueprint )๋…ธ๋“œ(Node) - ๋ธ”๋ฃจํ”„๋ฆฐํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๊ธฐ๋Šฅ ( Premade functionality ) ์ด๋ฒคํŠธ(evnet) - ์–ธ์ œ ์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋…ธ๋“œ ( "when" node )ํ•€(Pin) - ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์†Œ์ผ“ ( Sockets we can connect up )    (1). ์ž…๋ ฅ ํ•€..

[DirectX12] ์„€๋„์šฐ ๋งคํ•‘ (shadow mapping), ์„€๋„์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์„ธ ์ •๋ฆฌ
๐ŸŽฏ game engine/โ—ฝ directX122024. 12. 18. 17:40[DirectX12] ์„€๋„์šฐ ๋งคํ•‘ (shadow mapping), ์„€๋„์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์„ธ ์ •๋ฆฌ

1. ์žฅ๋ฉด ๊นŠ์ด ๋ Œ๋”๋ง ๊ด‘์›์˜ ์‹œ์ ์—์„œ ๋ณธ ์žฅ๋ฉด์˜ ๊นŠ์ด๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๊ณผ์ •์ด ์žˆ๋‹ค. ์ด๋Š” ํ…์Šค์ฒ˜ ๋Œ€์ƒ ๋ Œ๋”๋ง ( render - to - texture )์˜ ์ผ์ข…์ด๋ฉฐ, ๊ด‘์›์˜ ์‹œ์ ์—์„œ ๋ณธ ์žฅ๋ฉด์˜ ๊นŠ์ด ๊ฐ’๋“ค์„ ๊นŠ์ด ๋ฒ„ํผ์— ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค. ๊ทธ๋ฆผ์ž ๋งคํ•‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ๋‘ ๋ฒˆ์˜ ๋ Œ๋”๋ง ํŒจ์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๊ด‘์›์˜ ์‹œ์ ์—์„œ ๋ณธ ์žฅ๋ฉด ๊นŠ์ด๋ฅผ ๊ทธ๋ฆผ์ž ๋งต์— ๋ Œ๋”๋งํ”Œ๋ ˆ์ด์–ด ์นด๋ฉ”๋ผ์—์„œ ๋ณธ ์žฅ๋ฉด์„ ํ›„๋ฉด ๋ฒ„ํผ์— ๋ Œ๋”๋ง  2. ์ง๊ต ํˆฌ์˜/์ •์‚ฌ์˜ (Orthographic_Projection)๊ทธ๋ฆผ์ž ๋งคํ•‘์—์„œ ํ‰ํ–‰ ๊ด‘์ด ๋งŒ๋“ค์–ด ๋‚ด๋Š” ๊ทธ๋ฆผ์ž๋ฅผ ๋ณธ๋œฐ๋•Œ ์ง๊ต ํˆฌ์˜์ด ํ•„์š”ํ•˜๋‹ค.  (2.1). ์ง๊ต ํˆฌ์˜ ํ–‰๋ ฌ ๊ตฌํ•˜๊ธฐ (orthogonal_projection_matrix) ๋ฒกํ„ฐ๋ฅผ ํŠน์ • ๋ฒกํ„ฐ ๊ณต๊ฐ„ ๋˜๋Š” ๋ถ€๋ถ„ ๊ณต๊ฐ„์— ์ง๊ต์ ์œผ๋กœ ํˆฌ์˜ํ•  ๋–„ ์‚ฌ์šฉํ•˜๋Š”..

[DirectX12] ํ๋ธŒ๋งต ๋งŒ๋“ค๊ธฐ / StructuredBuffer
๐ŸŽฏ game engine/โ—ฝ directX122024. 11. 26. 23:05[DirectX12] ํ๋ธŒ๋งต ๋งŒ๋“ค๊ธฐ / StructuredBuffer

ํœด ,,, ๋“œ๋””์–ด ์„ฑ๊ณตํ–ˆ๋‹ค..ํ๋ธŒ๋งต ์ž์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฑด ์–ด๋ ต์ง€ ์•Š๋‹ค.ํ•˜์ง€๋งŒ ์ด์ „ ํ”„๋กœ์ ํŠธ์™€ ํ๋ธŒ๋งต ํ”„๋กœ์ ํŠธ์—์„œ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์ด ๋งŽ์•˜๋‹ค.๋งค ์žฅ ์ƒˆ๋กœ์šด ๊ฑธ ๋ฐ›์•„๋“ค์ด๋Š” ๋ถ€๋ถ„์—์„œ ์ œ๊ณตํ•ด ์ฃผ๋Š” ์ฝ”๋“œ์™€ ๋น„๊ตํ•ด ๋ณด๋ฉด ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์ด ๋งŽ๋‹คdirectX12 ๋ฌธ๋ฒ•์„ ์ดํ•ดํ•˜๊ณ  ์—ฐ๊ด€์„ฑ์„ ์•Œ์•„์•ผ๋งŒ ํ๋ธŒ๋งต์„ ์™„์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.   1. ํ๋ธŒ๋งต cubeMap / ์ž…๋ฐฉ์ฒด ๋งคํ•‘ํ๋ธŒ๋งต์˜ ํ…์Šค์ฒ˜๋Š” ๋‹จ์ง€ ํ…์Šค์ฒ˜ ์—ฌ์„ฏ ์žฅ์„ ๋‹ด์€ ๋ฐฐ์—ด์ด๋‹ค. 2. ํ๋ธŒ๋งต ์ ์šฉํ•˜๊ธฐ ๐Ÿ”ธ1) RootSignature  Texture Cube๋ฅผ ์‰์ด๋”์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด table์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.์—ฌ๊ธฐ์„œ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•œ RootParameterIndex(3)์„ Texture Cube๋กœ ๋งŒ๋“ค ๊ฑฐ๊ณ  Init ๋งค๊ฐœ๋ณ€์ˆ˜ 3๋ฒˆ์งธ ์ธ์ž 0์ด๋ฏ€๋กœ shader์—์„œ t0์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.  ?..

[DirectX12] ์Šคํ…์‹ค(stencil) ๊ฑฐ์šธ ๋งŒ๋“ค๊ธฐ
๐ŸŽฏ game engine/โ—ฝ directX122024. 11. 7. 12:00[DirectX12] ์Šคํ…์‹ค(stencil) ๊ฑฐ์šธ ๋งŒ๋“ค๊ธฐ

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

[DirectX12] ์กฐ๋ช…์˜ ์ข…๋ฅ˜
๐ŸŽฏ game engine/โ—ฝ directX122023. 12. 19. 16:43[DirectX12] ์กฐ๋ช…์˜ ์ข…๋ฅ˜

1. ์กฐ๋ช…์˜ ์ฃผ์š” ๋ฒกํ„ฐ 2. ๋žŒ๋ฒ ๋ฅดํŠธ ์ฝ”์‚ฌ์ธ ๋ฒ•์น™ [ Lambert's Cosine Law ] ๋น›์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋‹จ์œ„ ๋ฉด์ ๋‹น ๋ฐ›๋Š” ๋น›์˜ ์—๋„ˆ์ง€(E) ์ด๋‹ค. ๊ฐ™์€ ์–‘์˜ ๋น›์„ ๋น„์Šค๋“ฌํ•˜๊ฒŒ ๋น„์ถ”๋Š” ๊ฒƒ๋ณด๋‹ค ์ •๋ฉด์œผ๋กœ ๋น„์ถ”๋Š” ๋น›์ด ๋” ๊ฐ•ํ•œ ๋น›์ด๋‹ค. ์ด๋Š” ๋น›์˜ ์—๋„ˆ์ง€ = ๋ณต์‚ฌ์กฐ๋„(๋‹จ์œ„ ๋ฉด์ ๋‹น ๋ณต์‚ฌ ์„ ์†์˜ ๋ฐ€๋„) ํ•œ ์˜์—ญ์— ๋น›์˜ ์–‘์„ ๊ฒฐ์ •ํ•œ๋‹ค. A1 ๋‹จ๋ฉด์ ์ธ ๋น›์„ ํ‘œ๋ฉด์— ์ •๋ฉด์œผ๋กœ ๋•Œ๋ฆด ๋–„ ๊ฐ์€ 0๋„ (1๋ฒˆ)์ด๊ณ  ๊ฐ™์€ ์–‘(A1) ๋‹จ๋ฉด์ ์ธ ๋น›์„ ์‚ฌ์ „์œผ๋กœ ๋•Œ๋ฆด ๋•Œ ๊ฐ์€ ์„ธํƒ€๋„์ด๋‹ค. ์ด ๊ฐ์œผ๋กœ ํ†ตํ•ด ๋ณต์‚ฌ์กฐ๋„(๋‹จ์œ„ ๋ฉด์ ๋‹น ๋ณต์‚ฌ ์„ ์†์˜ ๋ฐ€๋„)๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‚ผ๊ฐ๋ฒ•์— ๋”ฐ๋ผ 2๋ฒˆ์˜ E2๋ฅผ ๊ตฌํ•˜๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ์‹์ด ๋„์ถœ๋œ๋‹ค. 3. ๋ถ„์‚ฐ ์กฐ๋ช… [ diffuse light / ๋‚œ๋ฐ˜์‚ฌ๊ด‘, ๋ถ„์‚ฐ๊ด‘ ] ๋น›์€ ์–ด๋–ค ๋ฌผ์ฒด ..

[DirectX12] ์กฐ๋ช… ์—ฐ์‚ฐ์„ ์œ„ํ•œ ๋ฒ•์„  ๋ฒกํ„ฐ, ๋ฒ•์„  ๋ฒกํ„ฐ์˜ ๋ณ€ํ™˜
๐ŸŽฏ game engine/โ—ฝ directX122023. 12. 14. 13:54[DirectX12] ์กฐ๋ช… ์—ฐ์‚ฐ์„ ์œ„ํ•œ ๋ฒ•์„  ๋ฒกํ„ฐ, ๋ฒ•์„  ๋ฒกํ„ฐ์˜ ๋ณ€ํ™˜

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

[DirectX12] ์›๊ธฐ๋‘ฅ์˜ ์ •์  ์ฐ๊ธฐ/๋ Œ๋”๋ง ๊ณผ์ • ์ดํ•ดํ•˜๊ธฐ
๐ŸŽฏ game engine/โ—ฝ directX122023. 12. 12. 17:37[DirectX12] ์›๊ธฐ๋‘ฅ์˜ ์ •์  ์ฐ๊ธฐ/๋ Œ๋”๋ง ๊ณผ์ • ์ดํ•ดํ•˜๊ธฐ

์œ„ ๋‚ด์šฉ์— ๋งž์ถฐ ๋ฒ„ํ…์Šค๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž. ์ธ๋ฑ์Šค๋Š” ์ƒ๋žตํ•จ.float stackheight = height / stackCount; // ํ•œ ์ธต ์œ„์˜ ๋”๋ฏธ๋กœ ์˜ฌ๋ผ ๊ฐˆ ๋•Œ์˜ ๋ฐ˜์ง€๋ฅผ ๋ณ€ํ™”๋Ÿ‰float radiusStep = (topRadius - bottomRadius) / stackCount;uint32 ringCount = stackCount + 1;for( uint32 i = 0; i  ์œ„์™€ ๊ฐ™์ด ์ •์ ์„ ๊ตฌํ•˜๊ณ  ์ธ๋ฑ์Šค๋ฅผ ์ฐ์—ˆ๋‹ค๋ฉด ๋ฐฐ์—ด์— ๋‹ด์•„ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋‹ฌ๋ผ๊ณ  GPU์—๊ฒŒ ์š”์ฒญํ•ด์•ผํ•œ๋‹ค. DirectX12์—์„œ GPU์—๊ฒŒ ์š”์ฒญํ•˜๋Š” ๊ณผ์ •์„ ์•Œ์•„๋ณด์ž. ์ด์ „์˜ [Prev]CommandList๋ฅผ CommandQueue(GPU๊ฐ€ ์‹คํ–‰ํ•˜๋„๋ก)์— ์ œ์ถœํ•˜๊ณ  ์ƒˆ๋กญ๊ฒŒ ๊ทธ๋ฆด ๋ช…๋ น๋“ค์„ [New]CommandList์— ๋‹ด์•„ CommnadQ..

728x90
image