๊น๊น๊น๊น
chunk mesh -> tile์ด ๊ฐ์๋ ๋ชจ๋ ๋ฐ์ดํฐ์ด๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฌธ์
tile entity -> tile๋ฐ์ดํฐ๋ ๋ณต์ฌํด์ ์ธ์ ์์ง๋ง ๊ฐ๊ฐ์ ๋ํ
culling ๋ฑ์ cpu ๋ถํ๊ฐ n๊ฐ ๋ฐ์
๊ทธ๋์ ๋์ด์ ์ฐธ์ง๋ชปํ๊ณ
DrawMeshInstancedIndirect๋ฐฉ์์ผ๋ก
tile type๋ผ๋ฆฌ ๋ฌถ์ด์ ๊ทธ๋ฆผ
๊ทธ๊ฑธ ๋ค์ chunk๋ณ๋ก ๋๋ ์ ๊ทธ๋ฆผ
๊ทธ๋ฆฌ๊ณ chunk๋ฅผ ์๋์ผ๋ก culling
๊ทธ๋ฌ๋ฉด tile mesh๋ฅผ instanceํด์ ๊ทธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฝ(entity๋ฐฉ์ํ๊ณ ๋น์ท)
๊ทธ๋ฌ๋ฉด์ ์ด ๋ฉ์ด๋ฆฌ๋ 1๊ฐ์ mesh ์ทจ๊ธ์ด๊ธฐ๋๋ฌธ์ cpu๋ถํ๊ฐ์
culling์ chunk ๋จ์๋ฅผ ์๋์ผ๋ก ํด์ค
๋์ ์ฝ๋์ ์ง์ ๋ถํจ์ ์ป์๋ค
๋๋ง ๋ณด๋ ์ฝ๋์ธ๋ฐ ์ด๋ ์ฑ๋ฅ ๋ฉ๋ชจ๋ฆฌ ์ข์๊ทธ๋ง์ด์ง
์ง์ง ์ด๊ฒ๋ง์ ์ฐ์ง์์ผ๋ ค๊ณ ํ๋๋ฐ
์งํ๋ง์ ํํํ๊ธฐ๋ก ํ๋ค
์ต์ ํ๋ ์ด์ฉ ์ ์์ด ๊ฐ๋ ์ฑ ํฌ๊ธฐํด์ผ ํ๋ ๊ฒฝ์ฐ ์๊ทผ ์๋ ๊ฒ ๊ฐ๋๋ผ ์์คํ ํ๋ฐ ์์ ์์ ๋ณธ๊ฑด๋ฐ ํ๋ ฌ ๊ณฑํ๊ธฐ์์ ์ฌ๋์ด ์ง๊ด์ ์ผ๋ก ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ ๋ง๊ณ ๋ง ๋ฃจํ ์์ ๋ฐ๊พธ๊ณ ํ๋ ฌ์ ์ฌ๋ฌ ๋ธ๋ญ์ผ๋ก ์ชผ๊ฐ์ ์บ์ ์ ์ค๋ฅ ๋์ด์ฌ๋ฆฌ๋ฉด ์ฑ๋ฅ์ ์๋นํ ํฅ์๋๋๋ฐ ์ฝ๋๋ ๋ง n์ค ๋ฃจํ๋ฌธ์ Aํ๋ ฌ ์ฝ๋ค๊ฐ ๊ฐ์๊ธฐ Bํ๋ ฌ๋ก ๋์ด๊ฐ๋ค๊ฐ ๋๋ฆฌ๋์ ํน์ํ ๊ฒฝ์ฐ์๋ง ์ด๋ค๊ณ ํจ ใ ใ
์ ์ ํ ํํ๋ด์ผํ๋๋ฐ ์ธ๊ฐ์ ์์ฌ์ด๋ ๋์ด ์๋ค '์ ์กฐ๊ธ๋ง ์๋ณด๋ฉด ์ต์ ํ๊ฐ..' ์ด๋ก ์ ๊ฐ๋จํ๋ฐ ์ฝ๋๊ฐ ๋ณต์กํด์ง๋ฟ ใ ใ
๋ ๋ชฉํ ์ต์ ํ ๋ฌ์ฑํด์ ์ปจํ ์ธ ๋ก ๋์ด๊ฐ - dc App
๋ถ๋ฝ๋ค ๋๋ ๋นจ๋ฆฌ ์ํธํ๊ณ ์ถ๋ค ๊ทธ๋ ์ง๋ง ์ํธํ ๋ ค๋ฉด ์ต์ ํํด์ผํ๋๊ฑธ ์
์ ๋ํฐ์? ์ธ๋ฆฌ์ผ์?
์ ๋ํฐ์ธ๋ฐ ๋ ๋๋ง ํ์ดํ๋ผ์ธ๊ฐ์ ๊ฒ๋ ์ง์ ๋ง๋ค์ด์์