๋ถ์์ฌ๋ง์ BlackSpace ์์ง์ย ์คํ์๋์ ๋ฐฉ๋ํ ๋ถ๋์ ๋ด์๋ด๋ ๊ทธ๋ฆ์ด์,ย
ํต์ฌ ๊ฐ๋ฐ์์ธ ๊น๋์ผ ์์ฅ์ ์ฒ ํ์ด ๊ฐ์ฅ ๋ง์ด ํฌ์๋ ๊ฒฐ์ ์ฒด์ ๋๋ค.
๊ณต๊ฐ๋ ์ ๋ณด๊ฐ ๋ณ๋ก ์์ด์ ์ถ์ธก์ด ๋ง์ด ์์ฌ์์ง๋ง,ย
์ฑ๋ฅ๊ณผ ์ต์ ํ๋ฅผ ๋ชจ๋ ์ก์๋ค๋ ์ฌ์ค์ ๊ทธ ์์ฒด๋ก ๋ง์ ํฅ๋ฏธ๋ฅผ ๋ถ๋ฌ์ผ์ผํต๋๋ค.
์์ง ์ ์ฒด๋ฅผ ๋ค๋ฃจ๋ ค๋ฉด ๋งค์ฐ ๋ณต์กํฉ๋๋ค.
๋ฐ๋ผ์ ๊ฒ์ ์์ง์ ๊ฐ์ฅ ์ค์ถ๊ฐ ๋๋ ๊ทธ๋ํฝ ํ์ดํ๋ผ์ธ์ ์ง์คํด๋ด ์๋ค.
ํต์ฌ ์ฉ์ด๋ฅผ ๋จผ์ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
Culling: ๋ณด์ด์ง ์๋ ๋ฌผ์ฒด๋ฅผ ๊ทธ๋ฆฌ์ง ์๋ ์ต์ ํ
LOD: ๋ฉ๋ฆฌ ์๋ ๋ฌผ์ฒด๋ฅผ Proxy๋ผ๋ ๋ ๋จ์ํ ๋ฌผ์ฒด๋ก ๋์ฒดํ์ฌ ๊ทธ๋ฆฌ๋ ์ต์ ํ
์คํธ๋ฆฌ๋ฐ: SSD์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ค ํ์ํ ๊ฒ๋ค๋ง ์ค์๊ฐ์ผ๋ก VRAM์ ์ฌ๋ฆฌ๋ ์ต์ ํ
์ด๋ฌํ ์ต์ ํ๋ Unity๋ Unreal์๋ ์ฌ์ฉ๋๋ ๋ฐฉ์์ด๋ฉฐ, ๊ฒ์ ๊ทธ๋ํฝ์ค์ ๋ํ ๋ณดํธ์ ์ธ ์ง์์ด ์๋ค๋ฉด ์ดํดํ๊ธฐ ํจ์ฌ ํธํฉ๋๋ค.
1. โ๊ฑฐ๋ํ ์ธ๊ณ๋ฅผ ๋๊น์ง ์กด์ฌํ๊ฒ ํ๋, ๊ฐ์ ๋น์ฉ์ผ๋ก ๊ทธ๋ฆฌ์ง ์๋๋คโ
BlackSpace์ ์คํ์๋ ๋ ๋๋ง์ ํ ๋ฌธ์ฅ์ผ๋ก ์์ฝํ๋ฉด ์ด๋ ์ต๋๋ค. ์ธ๊ณ๋ ๋ฉ๋ฆฌ๊น์ง ๊ณ์ ์กด์ฌํด์ผ ํ์ง๋ง, ๊ทธ ์กด์ฌ ๋ฐฉ์์ ๊ฑฐ๋ฆฌ์ ์ญํ ์ ๋ฐ๋ผ ๊ณ์ ๋ฐ๋์ด์ผ ํ๋ค.ย ๊ณต์ ์ฌ์ดํธ์ ๋ณด๋์๋ฃ๋ Crimson Desert๋ฅผ โseamless open worldโ๋ก ์๊ฐํ๊ณ , Dev Archives๋ ๋ฌผ, ๋ณผ๋ฅ๋ฉํธ๋ฆญ ํฌ๊ทธ, ๋๊ธฐ ์ฐ๋, GPU ๊ธฐ๋ฐ ์ท๊ฐยท๋จธ๋ฆฌ์นด๋ฝ, ๋ ์ดํธ๋ ์ด์ฑ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์กฐํฉ๋๋ค. ์ด ์กฐํฉ์ ๋จ์ํ ํ๋ฉด ํ ์ฅ์ ์์๊ฒ ๋ง๋๋ ์์ง์ด ์๋๋ผ, ๋์ ์ธ๊ณ ์ ์ฒด๋ฅผ ์๊ฐ์ ๋ฐ๋ผ ์ด์ ์๊ฒ ์ ์งํ๋ ์์ง์ด๋ผ๋ ๋ป์ ๋๋ค.
๋ฌธ์ ๋ ์ด๋ฐ ์ธ๊ณ๋ฅผ ์ ์งํ๊ฒ ๋ ๋๋งํ๋ฉด ๋น์ฉ์ด ํญ๋ฐํ๋ค๋ ์ ์ ๋๋ค. ๋จผ ์ฐ, ์ฒ, ๋์, ์งํ, ๋๋ฌด ๊ทธ๋ฆผ์, ๋ฐ์ฌ, ๊ฐ์ ๊ด๊น์ง ๋ชจ๋ ์๋ณธ ์ง์ค๋ฉํธ๋ฆฌ์ ์๋ณธ ์ ฐ์ด๋ฉ์ผ๋ก ๋ฐ์ด๋ถ์ด๋ฉด ๋์ญํญ๊ณผ ๋๋ก์ฐ ๋น์ฉ์ด ๊ฐ๋น์ด ์ ๋ฉ๋๋ค. ๊ทธ๋์ BlackSpace๋ ์ธ๊ณ๋ฅผ ์์ ์ง ์๊ณ , ๋์ โ์ด๋ค ํํ์ผ๋ก ๋จ๊ฒจ๋์งโ๋ฅผ ๋์์์ด ๋ฐ๊พธ๋ ๋ฐฉํฅ์ ํํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. PlayStation ์ชฝ ๊ธฐ์ ์ค๋ช ์์๋ ํ์ด๋น์ค๋ ํฐ ์คํ์๋๋ฅผ ์ ์งํ๊ธฐ ์ํด SSD ์คํธ๋ฆฌ๋ฐ, High CPU Frequency Mode, Geometry Shader Oversubscription, NGG Culling์ ์ฌ์ฉํ๋ค๊ณ ๋งํฉ๋๋ค. ์ด๊ฑด ๊ฒฐ๊ตญ ๋ฉ๋ฆฌ ์๋ ์ธ๊ณ๋ฅผ ์ ์งํ๋, ๊ทธ ์ธ๊ณ๋ฅผ GPU ์นํ์ ์ผ๋ก ์ชผ๊ฐ๊ณ ๋์ด๋ด๋ ์ต์ ํ๊ฐ ํต์ฌ์ด๋ผ๋ ์ ํธ์ ๋๋ค.
2. โํํ์ ๊ณ์ธตํโ: ์๋ณธ ๋ฉ์์์ ์ํฌ์คํฐ๋ฅผ ๊ฑฐ์ณ Proxy LOD๋ก ๊ฐ๋ค
์ด ์์ง์์ ๊ฐ์ฅ ์ค์ํ ๊ณต๊ฐ ๋จ์๋ ๋๋ฌด์ ๋๋ค. ํ์ด๋น์ค๋ ๋๋ฌด์ SpeedTree ์์ ์ ์ฐ์ง๋ง, ๋จผ ๊ฑฐ๋ฆฌ์ ๋๋ฌด๋ 8x8 ๋ฐฉํฅ์ผ๋ก ๋ ๋๋งํ 3D ์ํฌ์คํฐ๋ก ๋ง๋ค๊ณ , ๊ทธ ์ํฌ์คํฐ๋ฅผ ๋ค์ ์ธ๊ณ๋ฅผ ํํํ๋ ์ต์ข LOD์ธ Proxy LOD๋ก ๋ฒ ์ดํนํ๋ค๊ณ ๋ฐํ์ต๋๋ค. ๋ ๋์๊ฐ ๊ถ์ฅ ์ฌ์ ์ด์ ์์คํ ์์๋ ์ด Proxy LOD์ ๊ฑฐ๋ฆฌ ์ ํ์ด ์์ด์, ๋๋ฌด ์ํฌ์คํฐ ์ญ์ ์ฌ์ค์ ๊ฑฐ๋ฆฌ ์ ํ ์์ด ์ ์ง๋๋ค๊ณ ์ค๋ช ํ์ต๋๋ค.
์ด ๋ง์ ์๋ฏธ๋ ๊ฝค ํฝ๋๋ค. BlackSpace์ ์ฅ๊ฑฐ๋ฆฌ ์คํ์๋๋ ๋จ์ํ โ๋ฉ์ด์ง๋ฉด ์ฌ๋ผ์ง๋ ์ธ๊ณโ๊ฐ ์๋๋๋ค. ์คํ๋ ค ์๋ณธ ๋๋ฌด โ ๋ค๋ฐฉํฅ 3D ์ํฌ์คํฐ โ Proxy LOD๋ก ํํ์ ๊ฐ์ํ๋ฉด์ ๋๊น์ง ๋จ์ ์๋ ์ธ๊ณ์ ๊ฐ๊น์ต๋๋ค. ์ฌ๊ธฐ์ ์ ๊ฐ ์ผ๋ถ๋ฌ โHLODโ๋ผ๋ ๋ง์ ์กฐ์ฌํด์ ์ฐ๋ ์ด์ ๋ ์์ต๋๋ค. ํ์ด๋น์ค๊ฐ ๊ณต๊ฐ์ ์ผ๋ก ์ด ์ฉ์ด๋ HLOD๊ฐ ์๋๋ผ Proxy LOD์ ๋๋ค. ๋ค๋ง ๋์ ์๋ฆฌ๋ก ๋ณด๋ฉด, ์ด Proxy LOD๋ ์ฌ๋ฌ ์ฅ๊ฑฐ๋ฆฌ ํํ์ ๋ํํ๋ HLOD ๊ณ์ด์ ์ธ๊ณ ์ธ๊ณฝ ํํ์ธต์ผ๋ก ์ดํดํ๋ ๊ฒ์ด ์์ฐ์ค๋ฝ์ต๋๋ค. ๋ค์ ๋งํด BlackSpace๋ ๋ฉ๋ฆฌ ์๋ ์ค๋ธ์ ํธ๋ฅผ ์ญ์ ํ๋ ๋์ , ์ธ๊ณ์ ๋ฐ๊นฅ ๊ป๋ฐ๊ธฐ๋ฅผ ๋ ์ผ ํํ๋ก ๊ณ์ ๋ถ์ก์ ๋๋ ์์ง์ ๊ฐ๊น์ต๋๋ค.
3.ย โ๋ฌด์์ ์ด๋ ๋จ๊ณ๋ก ๋ผ์งโ๋ฅผ GPU ์ชฝ์์ ๊ณ ๋ฅธ๋ค
ํ์ด๋น์ค๋ ์ฌ๊ธฐ์ ํ ๊ฑธ์ ๋ ๋๊ฐ๋๋ค. ๊ฐ์ ๋ต๋ณ์์ ์์์ ๋งํ ๋๋ฌด ์ํฌ์คํฐ๋ ์ง์๋๋ ํ๋์จ์ด์์ ๋ฉ์ ์ ฐ์ด๋๋ก ๊ตฌํ๋์๊ณ , ๋ฉ์ ์ ฐ์ด๋๋ฅผ ์ฐ๋ ๋ค๋ฅธ ๊ธฐ์ ๋ ์๋ค๊ณ ๋ฐํ์ต๋๋ค. ์ด ํ ๋ฌธ์ฅ์ BlackSpace๊ฐ ๋จ์ํ ์ฅ๊ฑฐ๋ฆฌ LOD๋ฅผ ๋ง๋ค์ด ๋๋ ๊ฒ์ด ์๋๋ผ, ๊ทธ ์ฅ๊ฑฐ๋ฆฌ ํํ์ GPU ์ง์ค๋ฉํธ๋ฆฌ ๋จ๊ณ์์ ์ ํยท์ํํ๋ค๋ ๋ป์ผ๋ก ์ฝ๋ ํธ์ด ๋ง์ต๋๋ค.
์ ์ด๊ฒ ์ค์ํ์ง๋ Microsoft์ ๋ฉ์ ์ ฐ์ด๋ ์ค๋ช ์ ๋ณด๋ฉด ์ ๋ช ํด์ง๋๋ค. DirectX ๋ฌธ์๋ ๋ฉ์ ์ ฐ์ด๋๊ฐ ๊ธฐ์กด Vertex/Geometry ํ์ดํ๋ผ์ธ์ ๋์ฒดํ๋ฉด์ ์ง์ค๋ฉํธ๋ฆฌ๋ฅผ ๋ฐฐ์น ๋จ์๋ก ์ฒ๋ฆฌํ๊ณ , ์ฆํญ(amplify)ํ๊ฑฐ๋ ์ปฌ๋ง(cull)ํ ์ ์๋ค๊ณ ์ค๋ช ํฉ๋๋ค. ๋ ๊ฐ๋ฐ์ ๋ธ๋ก๊ทธ๋ ๋ฉ์ ์ ฐ์ด๋์ ์ฆํญ ์ ฐ์ด๋๊ฐ ์์ผ๋ฉด ๋ฉ์ ์กฐ๊ฐ๋ณ ๋ฐ์ด๋ฉ ๋ฐ์ค๋ฅผ ๋๊ณ ์กฐ๊ฐ ๋จ์ ํ๋ฌ์คํ ์ปฌ๋ง, ๋ฐฑํ์ด์ค ๊ทธ๋ฃน ์ ๊ฑฐ, ์ธ์คํด์ค ์ปฌ๋ง, GPU ์์์์ LOD ์ ํย ๊ฐ์ ์ผ์ ๋ ์ด๋ฅธ ๋จ๊ณ์์ ํ ์ ์๋ค๊ณ ๋ฐํ๋๋ค. Microsoft์ ์ํ ๋ฌธ์์๋ ์์ per-instance frustum culling and level-of-detail selection entirely on the GPU๋ผ๋ ์์ ๊ฐ ๋ฐ๋ก ์์ต๋๋ค.
๊ทธ๋์ BlackSpace๋ฅผ ๊ฐ์ฅ ๊ทธ๋ด๋ฏํ๊ฒ ์ฌ๊ตฌ์ฑํ๋ฉด, ์ฅ๊ฑฐ๋ฆฌ ์ค๋ธ์ ํธ๋ ๋จผ์ ์๋ณธ / ์ํฌ์คํฐ / Proxy LODย ๊ฐ์ ์ฌ๋ฌ ํํ์ ์ค๋นํด ๋๊ณ , ์ค์ ํ๋ ์์์๋ GPU๊ฐ ์นด๋ฉ๋ผ์์ ๊ด๊ณ๋ฅผ ๋ณด๊ณ ์ง๊ธ ์ด๋ค ํํ์ ๋ด๋ณด๋ผ์ง๋ฅผ ๊ณ ๋ฅด๋ ๊ตฌ์กฐ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๊ณต์์ ์ผ๋ก โmeshletโ์ด๋ โamplification shaderโ๊น์ง ์ธ๊ธ๋ ๊ฒ์ ์๋๋ฏ๋ก ๊ฑฐ๊ธฐ๊น์ง๋ ๋จ์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ต์ํ ์ฅ๊ฑฐ๋ฆฌ ์์์ ํํ ์ ํ์ CPU์ ๋๋ก์ฐ์ฝ ์ ๋ฆฌ๋ง์ผ๋ก ์ฒ๋ฆฌํ์ง ์๊ณ , GPU์ ํ๋ฆฌ๋์คํฐ ๋จ๊ณ๊น์ง ๋๊ณ ๋ค์ด๊ฐ๋ค๋ ๋ฐฉํฅ์ฑ์ ๊ณต๊ฐ ๋ฐ์ธ๊ณผ DirectX ๋ฌธ์๊ฐ ์ ํํ ๋ง๋ฌผ๋ฆฝ๋๋ค.
4. ์ปฌ๋ง์ ๋จ์ํ ํ๋ฌ์คํ ํ ์คํธ๊ฐ ์๋๋ผ, โํด์๋โ๋ฅผ ์ ํ๋ ๊ณผ์ ์ด ๋๋ค
์คํ์๋ ์์ง์์ ์ปฌ๋ง์ ํํ โ์ ๋ณด์ด๋ ๊ฒ์ ๋ฒ๋ฆฌ๋ ๊ฒโ์ผ๋ก๋ง ์๊ฐํ๊ธฐ ์ฝ์ต๋๋ค. ํ์ง๋ง BlackSpace์์๋ ์ปฌ๋ง์ด ๋ ๋์ ์๋ฏธ๋ก ์๋ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ์ปฌ๋ง์ ์คํธ๋ฆฌ๋ฐ ๋ ๋ฒจ์ ์ปฌ๋ง์ ๋๋ค. ์์ฃผ ๋จผ ์ง์ญ์ ์๋ณธ ๋ฐ์ดํฐ๋ SSD๋ฅผ ํตํด ํ์ํ ๋งํผ๋ง ๋ถ๋ฌ์ค๊ณ , ๊ณต์ ์๋ฃ๊ฐ ๋งํ๋ seamless open world๋ ๊ทธ๋ฐ ์คํธ๋ฆฌ๋ฐ ์์ด๋ ์ฑ๋ฆฝํ ์ ์์ต๋๋ค. ๋ ๋ฒ์งธ ์ปฌ๋ง์ ํํ ์ปฌ๋ง์ ๋๋ค. ๊ฐ์ ์ค๋ธ์ ํธ๋ผ๋ ์๋ณธ ๋ฉ์๋ก ๋จ๊ธธ์ง, ์ํฌ์คํฐ๋ก ๋ฐ๊ฟ์ง, Proxy LOD๋ง ๋จ๊ธธ์ง๋ฅผ ๋จผ์ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. ์ธ ๋ฒ์งธ๋ ์ฐ๋ฆฌ๊ฐ ์ต์ํ ์๋ฏธ์ ํ๋ฉด ๊ฐ์์ฑ ์ปฌ๋ง์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค ๋ฒ์งธ๋ ๋ค์์ ์ค๋ช ํ ๋ ์ดํธ๋ ์ด์ฑ ๋ฒ์ ์ปฌ๋ง์ ๋๋ค.
PlayStation ๋ธ๋ก๊ทธ๊ฐ ๊ณต๊ฐํ Geometry Shader Oversubscription๊ณผ NGG Culling๋ ์ด ๋งฅ๋ฝ์ ๋์ผ๋ฉด ์ดํด๊ฐ ๋ฉ๋๋ค. Sony๋ ์ด๋ฆ๋ง ์ธ๊ธํ์ง ๋ด๋ถ ๊ตฌํ์ ์ค๋ช ํ์ง ์์์ต๋๋ค. ๊ทธ๋์ โBlackSpace๊ฐ ์ ํํ ์ด๋ค NGG ๊ฒฝ๋ก๋ฅผ ํ๋คโ๊ณ ๋จ์ ํ ์๋ ์์ต๋๋ค. ๋ค๋ง ๊ฐ์ ๊ธ์์ ์ด๊ฒ์ ๊ฑฐ๋ํ ์ค์ผ์ผ์์๋ ๋ํ ์ผ์ ์ ์งํ๊ธฐ ์ํ ์ต์ ํ๋ก ์ธ๊ธํ๊ณ , ํ์ด๋น์ค๋ ๋ณ๋๋ก ๋ฉ์ ์ ฐ์ด๋ ๊ธฐ๋ฐ ์ํฌ์คํฐ๋ฅผ ๊ณต๊ฐํ์ต๋๋ค. ์ฌ๊ธฐ์ DirectX ๋ฌธ์๊ฐ ๋งํ๋ ๋ฉ์ ์ ฐ์ด๋์ ์ง์ค๋ฉํธ๋ฆฌ ๋จ๊ณ ์ปฌ๋งย ์ฑ๊ฒฉ์ ๊ฒน์ณ ๋ณด๋ฉด, BlackSpace๋ ์ ์ด๋ ์ผ๋ถ ๊ฒฝ๋ก์์ ํ๋ฌ์คํ ์์ ๋ค์ด์จ ๋ค์์ผ ๋ฒ๋ฆฌ๋ ์์ง์ด ์๋๋ผ, ๋์คํฐ ์ด์ ๋จ๊ณ์์ ์ด๋ฏธ ์๋น๋์ ์์๋ด๋ ์์ง์ด๋ผ๊ณ ๋ณด๋ ์ชฝ์ด ๊ฐ์ฅ ์์ฐ์ค๋ฝ์ต๋๋ค. ์ด๊ฑด ๊ณต๊ฐ ์ฌ์ค๊ณผ ๋ฌธ์์ ๊ทผ๊ฑฐํ ํด์์ด๊ณ , ์ธ๋ถ ์๊ณ ๋ฆฌ์ฆ ์์ฒด๋ ๋น๊ณต๊ฐ์ ๋๋ค.
5. BlackSpace์์ ๊ทธ๋ฆผ์๋ โ๋ฉ์ธ ํ๋ฉด์ ๋ถ์๋ฌผโ์ด ์๋๋ผ, ๋ณ๋์ ์คํ์๋ ํํ ๊ณ์ธต์ด๋ค
์ด ์์ง์์ ๊ฐ์ฅ ์ธ์์ ์ธ ๋ถ๋ถ์ ์ฌ์ค ๊ทธ๋ฆผ์์ ๋๋ค. Digital Foundry ์ง์์๋ต ์ฌํ๋ณธ์์ ํ์ด๋น์ค๋ ๊ทธ๋ฆผ์๋ฅผ ํ๋์ ์บ์ค์ผ์ด๋ ์ฒด๊ณ๋ก ๋ญ๋ฑ๊ทธ๋ฆฌ์ง ์๊ณ , ์ ์ 2์บ์ค์ผ์ด๋, ์งํ 1์บ์ค์ผ์ด๋, ๋์ 2์บ์ค์ผ์ด๋, ๊ทผ๊ฑฐ๋ฆฌ ์บ๋ฆญํฐ ์ ์ฉ 1์บ์ค์ผ์ด๋๋ก ๋ถ๋ฆฌํ๋ค๊ณ ๋งํ์ต๋๋ค. ๊ฒ๋ค๊ฐ ์ ์ ๊ทธ๋ฆผ์๋ ์ ์ง์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๊ณ , ๋์ ๊ทธ๋ฆผ์๋ ๋งค ํ๋ ์ ๊ฐฑ์ ๋๋ฉฐ, ๋ฏธ์ธํ ํ๋ฉด ๋ํ ์ผ์ ์คํฌ๋ฆฐ ๊ณต๊ฐ ์ปจํํธ ์๋์ฐ๋ก ๋ณด๊ฐ๋๋ค๊ณ ํ์ต๋๋ค. ๋ฌ์์์ด ์ฌํ๋ณธ ์ญ์ ๊ฐ์ ๋ค ์ธต ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์ ๊ณ ์์ต๋๋ค.
์ด ๊ตฌ์กฐ๋ ๋จ์ํ โ์บ์ค์ผ์ด๋ ์๊ฐ ๋ง๋คโ๋ ์๊ธฐ๊ฐ ์๋๋๋ค. Microsoft์ CSM ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด ์บ์ค์ผ์ด๋ ์๋์ฐ ๋งต์ ์๋ ์นด๋ฉ๋ผ ํ๋ฌ์คํ ์ ์ฌ๋ฌ ๊ตฌ๊ฐ์ผ๋ก ๋๋๊ณ , ๊ฐ๊น์ด ๊ตฌ๊ฐ์ ๋ ๋์ ํด์๋๋ฅผ ์ฃผ๊ธฐ ์ํ ๊ธฐ์ ์ ๋๋ค. BlackSpace๋ ์ด ๊ธฐ๋ณธ ์์ด๋์ด ์์ ํ ๋จ๊ณ ๋ ์ฌ๋ผ๊ฐ์, ํด์๋๋ฟ ์๋๋ผ ์ค๋ธ์ ํธ์ ์ฑ๊ฒฉ๊ณผ ๊ฐฑ์ ๋น๋๋ฅผ ๊ทธ๋ฆผ์ ์์คํ ์์ ๋ฐ์ ๋ฃ์์ต๋๋ค. ๋งค์ฐ ๋จผ ์งํ์ ์งํ ์ ์ฉ ๋งต์ผ๋ก๋ง, ๋ฉ๊ณ ๊ฑฐ์ ์ ์์ง์ด๋ ๋ฌผ์ฒด๋ ์ ์ ๋งต์ผ๋ก, ๋๋ฌดยท์ฒยท์บ๋ฆญํฐ์ฒ๋ผ ๊ณ์ ๋ณํ๋ ๊ฒ๋ค์ ๋์ ๋งต์ผ๋ก, ๊ทธ๋ฆฌ๊ณ ์ฃผ์ธ๊ณต ์ฃผ๋ณ ์บ๋ฆญํฐ๋ ๋ฐ๋ก ๊ทผ๊ฑฐ๋ฆฌ ์บ์ค์ผ์ด๋๋ก ์ฒ๋ฆฌํ๋ ์์ ๋๋ค. ๊ทธ๋์ BlackSpace์ ๊ทธ๋ฆผ์ ํ์ดํ๋ผ์ธ์ ์ฌ์ค์ shadow-only HLOD์ shadow-only update scheduler๊ฐ ๊ฒฐํฉ๋ ๊ตฌ์กฐ๋ผ๊ณ ๋ณด๋ ํธ์ด ๋ง์ต๋๋ค. ๋ค๋ง โ๋๋ฌด์ฉ shadow impostor atlasโ ๊ฐ์ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ์ ๊ณต๊ฐ๋์ง ์์์ผ๋ฏ๋ก, ๊ฑฐ๊ธฐ๊น์ง๋ ์์์ผ๋ก ๋๊ฐ๋ฉด ์ ๋ฉ๋๋ค.
ํต์ฌ์ ๊ทธ๋ฆผ์์์์กฐ์ฐจ ์๋ณธ ์ธ๊ณ๋ฅผ ๊ทธ๋๋ก ๋ค์ ๊ทธ๋ฆฌ์ง ์๋๋ค๋ ์ ์ ๋๋ค. ์ ์ ์๋์ฐ ๋งต์ด progressive update๋ผ๋ ๋ง์, ๋จผ ์ธ๊ณ์ ๊ทธ๋ฆผ์๋ฅผ ๋งค ํ๋ ์ ๋ค์ ๋ ๋๋งํ์ง ์๊ณ ์๊ฐ ์์ฐ์ ๋ง๊ฒ ๋ถ์ฐ ๊ฐฑ์ ํ๋ค๋ ๋ป์ ๋๋ค. ๋ฐ๋๋ก ๋์ ์๋์ฐ ๋งต์ ๋๋ฌด, ์ฒ, ์บ๋ฆญํฐ๋ฅผ ์ํด ๋งค ํ๋ ์ ๊ฐฑ์ ๋ฉ๋๋ค. ์ฆ BlackSpace๋ โ์ด๋ค ์ค๋ธ์ ํธ๊ฐ ํ๋ฉด์ ์ค์ํ๋โ๋ฟ ์๋๋ผ, โ์ด๋ค ์ค๋ธ์ ํธ์ ๊ทธ๋ฆผ์๊ฐ ์ง๊ธ ๊ฐฑ์ ๋ผ์ผ ํ๋โ๋ฅผ ๋ณ๋๋ก ํ๋จํฉ๋๋ค. ์คํ์๋ ๋ ๋๋ง์์ ์ด ์ฐจ์ด๋ ๋งค์ฐ ํฝ๋๋ค. ์๋ํ๋ฉด ์ฅ๊ฑฐ๋ฆฌ ์๋์ ์ค์ฒด๋ฅผ ์ ์งํ๋ฉด์๋, GPU๊ฐ ๋งค ํ๋ ์ ๋ค์ ๊ณ์ฐํ๋ ์์ ๊ฐ๊น์ด ๋ณํ ์์ฃผ๋ก ์ ํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
6. RT ์ง์ฌ๊ด ๊ทธ๋ฆผ์๊ฐ ๋น ์ง ์ฌ์ค๋, ์คํ๋ ค BlackSpace์ ๊ตฌ์กฐ๋ฅผ ๋ ์ ๋ณด์ฌ ์ค๋ค
ํ์ด๋น์ค๋ ๋ ํ๋ ํฅ๋ฏธ๋ก์ด ์ฌ์ค์ ๊ณต๊ฐํ์ต๋๋ค. ๋ ์ด ํธ๋ ์ด์ฑ ๊ธฐ๋ฐ์ ์ง์ฌ๊ด ๊ทธ๋ฆผ์ ๊ตฌํ์ฒด๋ ๋ณด์ ํ๊ณ ์์ง๋ง, ์ถ์ ๋ฒ์ ์๋ ๋ฃ์ง ์์๋ค๋ ๊ฒ์ ๋๋ค. ์ด์ ๋ RT ์์ฐ์ด ๋๋ฌด ๋๊ณ , ํนํ ์ ๋๋ฉ์ด์ ๋๋ ๋๋ฌด์ ์ ๋ฐ์ดํธ๊ฐ ๋น ์ง๋ ๋ฌธ์ ย ๋๋ฌธ์ด๋ผ๊ณ ์ค๋ช ํ์ต๋๋ค. ์ด๊ฑด ๋จ์ํ โ๋ฏธ๊ตฌํโ์ด ์๋๋ผ, BlackSpace์ ํ์ฌ shipping pipeline์ด ์ ๋์คํฐ ๊ธฐ๋ฐ ๊ทธ๋ฆผ์ ๋ ์ด์ด๋ง์ ์ค์ฌ์ผ๋ก ๋์๊ฐ๋์ง ์ค๋ช ํด ์ค๋๋ค.
์ฌ๊ธฐ์ ์ค์ํ ๊ฑด โ๋๋ฌดโ์ ๋๋ค. BlackSpace์์ ๋๋ฌด๋ ๋ฉ๋ฆฌ์๋ ์ํฌ์คํฐ์ Proxy LOD์ ๋ํ ์ฌ๋ก์ด์ง๋ง, ๊ฐ๊น์ด ์ค๋ฉด ๋ค์ ๋ฐ๋๊ณผ ์ ๋๋ฉ์ด์ ์ด ๊ฑธ๋ฆฐ ๋์ ์ง์ค๋ฉํธ๋ฆฌ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฐ ์ค๋ธ์ ํธ๋ฅผ RT ์ง์ฌ๊ด ๊ทธ๋ฆผ์๊น์ง ํฌํจํด ์์ ํ๊ฒ ๊ฐฑ์ ํ๋ ค๋ฉด ๋น์ฉ์ด ๊ธ๊ฒฉํ ์ฌ๋ผ๊ฐ๋๋ค. ๊ทธ๋์ ํ์ฌ ๊ตฌ์กฐ๋ ๋จผ ์ธ๊ณ๋ ์ ์ /์งํ ๊ณ์ธต์ผ๋ก, ๊ฐ๊น์ด ๋ณํ๋ ๋์ /๊ทผ๊ฑฐ๋ฆฌ ๊ณ์ธต์ผ๋ก, ๋ฏธ์ธ ๋ํ ์ผ์ contact shadows๋กย ์ฒ๋ฆฌํ๋ ์ชฝ์ด ๋ ํ์ค์ ์ ๋๋ค. ์ฆ, RT ์ง์ฌ๊ด ๊ทธ๋ฆผ์๊ฐ ๋น ์ก๋ค๋ ์ฌ์ค์ BlackSpace๊ฐ RT๋ฅผ ์ซ์ดํด์๊ฐ ์๋๋ผ, ์คํ์๋ ์์๊ณผ ๊ทธ๋ฆผ์๋ฅผ ๋์์ ์ ์งํ๊ธฐ ์ํด ๋ ๊ฐ์ผ ๊ณ์ธตํ ๊ทธ๋ฆผ์ ์ฒด๊ณ๋ฅผ ๋ฉ์ธ ๊ฒฝ๋ก๋ก ์ ํํ๋ค๋ ๋ป์ ๊ฐ๊น์ต๋๋ค.
7. RT์์๋ ๋ฐ๋ณต๋๋ ์ฒ ํ: ์ ํํ ๊ฒ์ ๊ฐ๊น์ด, ๋ฉ๋ฆฌ๋ ๋๋ฆฌ ํํ์ผ๋ก
BlackSpace์ ์ปฌ๋ง๊ณผ HLOD ์ฒ ํ์ RT์์ ๋ ๋ ธ๊ณจ์ ์ผ๋ก ๋๋ฌ๋ฉ๋๋ค. ํ์ด๋น์ค๋ BVH์ ํ๊ณผ ์์ฃผ ์์ ์ค๋ธ์ ํธ๋ฅผ ์ ์ธํ ์งํ, ๊ฑด๋ฌผ, ํ๋, ๋๋ฌด, ์บ๋ฆญํฐ ๋ฑ ๊ฑฐ์ ๋ชจ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ฃ์ง๋ง, ๋ฉ๋ชจ๋ฆฌ์ ์ฑ๋ฅ ํ๊ณ ๋๋ฌธ์ BVH ์ ํจ ๊ฑฐ๋ฆฌ๋ฅผ ์ฝ 100~150m๋ก ์ ํํ๋ค๊ณ ํ์ต๋๋ค. ๊ทธ ๋ฐ๊นฅ์ ์ฝ 2km๊น์ง SDF๋ก ํํํ๊ณ , hit shader divergence๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฌ์ง๋ ๋จ์ํํ๋ฉฐ, ์บ๋ฆญํฐ์ ๋ณต์กํ ๋ฉํฐ ํ ์ค์ฒ๋ ์บ๋ฆญํฐ๋น ๋จ์ผ ํ ์ค์ฒ๋ก ๋ฒ ์ดํฌํ๋ค๊ณ ์ค๋ช ํ์ต๋๋ค.
์ด๊ฑด BlackSpace์ ์คํ์๋ ๋ ๋๋ง ์ ์ฒด๋ฅผ ๊ดํตํ๋ ์์น์ ๋ณด์ฌ ์ค๋๋ค. ์ ํํ ์ธ๊ณ๋ ๊ทผ๊ฑฐ๋ฆฌ์์๋ง ์ ์งํ๋ค.ย ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ทผ๊ฑฐ๋ฆฌ ๋ฐ๊นฅ์ผ๋ก ๋๊ฐ๋ฉด ์๋ณธ ์ง์ค๋ฉํธ๋ฆฌ ๋์ Proxy LOD, ์๋ณธ ๊ทธ๋ฆผ์ ๋์ ์ ์ /์งํ ๋ ์ด์ด, ์๋ณธ RT ๊ธฐํ ๋์ SDF, ์๋ณธ ์ฌ์ง ๋์ ๋จ์ํ๋ RT ์ฌ์ง์ด ๋ค์ด์ต๋๋ค. ์ฆ, HLODยท์ํฌ์คํฐยท๊ทธ๋ฆผ์ยท์ปฌ๋ง์ ๋ฐ๋ก๋ฐ๋ก ์๋ ๊ธฐ๋ฅ์ด ์๋๋ผ, ์ ๋ถ โ์ ํ๋๋ฅผ ์์น์ ์ค์๋์ ๋ฐ๋ผ ๋ฐฐ๋ถํ๋ ํ ๊ฐ์ง ์ฒ ํ์ ๋ค๋ฅธ ์ผ๊ตดโ์ ๋๋ค.
8. ๊ณต๊ฐ ์๋ฃ๋ฅผ ๋ฐํ์ผ๋ก ์ฌ๊ตฌ์ฑํ BlackSpace์ ์คํ์๋ ๋ ๋๋ง ํ๋ฆ
์๋๋ ์ง๊ธ๊น์ง์ ๊ณต๊ฐ ์ฌ์ค์ ์ฐ๊ฒฐํด ์ฌ๊ตฌ์ฑํ, ๊ฐ์ฅ ์ค๋๋ ฅ ์๋ ํ๋ฆ์ ๋๋ค.
์๋ ์คํธ๋ฆฌ๋ฐ
ย -> ์นด๋ฉ๋ผ ์ฃผ๋ณ ์ ์ ์๋ณธ ์ง์ค๋ฉํธ๋ฆฌ/์๋ณธ ์๋ฎฌ๋ ์ด์ ์ ์ง
ย -> ์ค๊ฑฐ๋ฆฌ ์ ์ ์ถ์ฝ๋ ํํ ์ ์ง
ย -> ์๊ฑฐ๋ฆฌ ์ ์ Proxy LOD ๊ณ์ธต์ผ๋ก ์ ์ง
ํํ ์ ํ
ย -> ๋๋ฌด: SpeedTree ์๋ณธ / 8x8 3D impostor / Proxy LOD
ย -> ์งํ: ๊ทผ๊ฑฐ๋ฆฌ ์๋ณธ / ์๊ฑฐ๋ฆฌ ์งํ ํํ
ย -> ๊ตฌ์กฐ๋ฌผยทํ๋: ์๋ณธ ๋๋ ๋ณํฉ๋ ๋ํ ํํ(๊ณต๊ฐ ๋ช ์นญ์ ๋น๊ณต๊ฐ)
GPU ์ง์ค๋ฉํธ๋ฆฌ ๋จ๊ณ
ย -> ํ๋ฌ์คํ /๊ฑฐ๋ฆฌ/ํ๋์จ์ด ๊ฒฝ๋ก์ ๋ฐ๋ผ ํํ ์ ํ
ย -> mesh shader / geometry-stage ๊ณ์ด ์ต์ ํ๋ก ๋ถํ์ํ ์ถ๋ ฅ ์ ๊ฑฐ
ย -> ์ผ๋ถ ๊ฒฝ๋ก์์ NGG culling ๊ณ์ด ์ต์ ํ ์ฌ์ฉ
์๋์ฐ ํํ
ย -> static shadow map: 2 cascades, progressive update
ย -> terrain shadow map: 1 cascade, far terrain only
ย -> dynamic shadow map: 2 cascades, every frame
ย -> near-character shadow map: 1 cascade
ย -> contact shadows๋ก ๋ฏธ์ธ ๋ํ ์ผ ๋ณด๊ฐ
๋ฉ์ธ ๋ผ์ดํ /RT
ย -> ๊ทผ๊ฑฐ๋ฆฌ BVH: ์ฝ 100~150m
ย -> ์๊ฑฐ๋ฆฌ: SDF ๋๋ฆฌ ํํ
ย -> RT ์์ฐ์ ์๋ผ๊ธฐ ์ํด ์ผ๋ถ๋ screen-space / cache / simplified material ์ฌ์ฉ
ํ์ฒ๋ฆฌ์ ํ์
ย -> ์ต์ข ์ปฌ๋ฌ, ์ ์ค์ผ์ผ๋ง, ํ๋ ์ ํธ
์ด ํ๋ฆ์์ ์ค์ํ ๊ฑด, HLOD ์ ํ๊ณผ ์ปฌ๋ง์ด ๋ฉ์ธ๋ทฐ ํ๋๋ง์ ์ํ ํ๋จ์ด ์๋๋ผ๋ ์ ์ ๋๋ค. ๊ฐ์ ์ธ๊ณ๊ฐ ๋ฉ์ธ ํ๋ฉด์์๋ ์ํฌ์คํฐ๋ก, ๊ทธ๋ฆผ์์์๋ ์ ์ ์บ์คํฐ๋ก, RT์์๋ SDF ๋๋ฆฌ ํํ์ผ๋ก ๋์์ ์กด์ฌํ ์ ์์ต๋๋ค. BlackSpace์ ํ์ดํ๋ผ์ธ์ ๊ฒฐ๊ตญ โ๋ฌด์์ด ๋ณด์ด๋๋โ๋ณด๋ค ๋ ๋๊ฒ, โ๋ฌด์์ด ์ด๋ค ๋น์ฉ์ผ๋ก ์กด์ฌํด์ผ ํ๋๋โ๋ฅผ ํ๋ ์๋ง๋ค ๊ฒฐ์ ํ๋ ๊ตฌ์กฐ์ ๊ฐ๊น์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ก ๊ทธ ์ ๋๋ฌธ์, ์ด ์์ง์ ์คํ์๋๊ฐ ๋จ์ํ ๋์ ๊ฒ์ด ์๋๋ผ ๋ฉ๋ฆฌ๊น์ง ์ด์ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ย ๊ฒ๋๋ค.
9. ๊ฒฐ๋ก
์ ๋ฆฌํ๋ฉด, BlackSpace์ ์คํ์๋ ๋ ๋๋ง ํ์ดํ๋ผ์ธ์ ํ ๊ฐ์ง ํฌ๋ฌ ๊ธฐ์ ๋ก ์ค๋ช ๋์ง ์์ต๋๋ค. ์ด ์์ง์ ๋ณธ์ง์ ์ฅ๊ฑฐ๋ฆฌ ์ธ๊ณ๋ฅผ Proxy LOD์ ๋ค๋ฐฉํฅ ์ํฌ์คํฐ๋ก ์ ์งํ๊ณ , ๊ทธ ํํ ์ ํ์ GPU ์ง์ค๋ฉํธ๋ฆฌ ๋จ๊ณ๊น์ง ๋๊ณ ๊ฐ๋ฉฐ, ๊ทธ๋ฆผ์๋ ์ ์ ยท์งํยท๋์ ยท๊ทผ๊ฑฐ๋ฆฌ ์บ๋ฆญํฐ๋ก ์ฑ ์์ ๋ถ์ฐํ๊ณ , RT๋ ๊ฐ๊น์ด ๋ฒ์๋ง ์ ๋ฐํ๊ฒ ๋ค๋ฃจ๋ ๊ณ์ธตํ ์์ง์ด๋ผ๋ ๋ฐ ์์ต๋๋ค. ๊ทธ๋์ BlackSpace๋ โํ๋ฉด์ ๋ฟ๋ฆฌ๋ ๊ธฐ๋ฅ์ ๋ชจ์โ์ด๋ผ๊ธฐ๋ณด๋ค, ๊ฑฐ๋ํ ์ธ๊ณ๋ฅผ ๊ณ์ ์กด์ฌ์ํค๋ฉด์๋ ๋น์ฉ์ ๊ตญ์ํํ๋ ์คํ์๋ ์ ์ฉ ๋ ๋๋ง ์ด์์ฒด๊ณ์ ๊ฐ๊น์ต๋๋ค. ๊ณต์ ์๋ฃ๊ฐ ๋ณด์ฌ ์ฃผ๋ fluid fog, atmospheric scattering, GPU cloth/hair, seamless world ๊ฐ์ ์์๋ค๋ ๊ฒฐ๊ตญ ์ด ๊ณ์ธต ๊ตฌ์กฐ ์์์๋ง ์ฑ๋ฆฝํฉ๋๋ค.
[1]: https://crimsondesert.pearlabyss.com/en-US/News/Notice/Detail?_boardNo=40 "[Notices] Dev Archives: A Look into Pearl Abyssโ BlackSpace Engine | Crimson Desert"
[2]: https://www.pearlabyss.com/en-US/Board/Detail?_boardNo=14684 "Pearl Abyss Launches Crimson Desert Worldwide Today | Pearl Abyss"
[3]: https://blog.playstation.com/2026/03/04/crimson-desert-hands-on-report-four-hours-in-the-rpgs-massive-open-world/ "Crimson Desert hands-on report: four hours in the RPGโs massive open world โ PlayStation.Blog"
[5]: https://microsoft.github.io/DirectX-Specs/d3d/MeshShader.html "Mesh Shader | DirectX-Specs"
[6]: https://learn.microsoft.com/en-us/windows/win32/dxtecharts/cascaded-shadow-maps "Cascaded Shadow Maps - Win32 apps | Microsoft Learn"
์ง์ ์ด๊ฑฐ์? ์์ฝ์๋ค ใณ
๊ฐ์ฌํฉ๋๋ค GPT๋ก ๋ฝ๊ณ ๋ค๋ฌ์์ด์
๊ทธ๋ํฝ ๊ฐ์ข์ ๋ฐ์๋ง์์ง ์ด์ผ๊ธฐ plz~ - dc App
์ ์ํ์ต๋๋ค
์ต์ํ ai ๋งํฌ
๋ง์ง๋ง์ ํต์ฌ์ ~~์ธ๋ฐ ๋ ์๋ ค์ค๊น ๊น์ง ํ๋ฉด ์๋ฒฝํ๋ค.
@ใ ใ (122.153) ๊ทธ๊ฑด ์ง์ ์ฃ ใ ใ
๊ธฐ๋ณธ์ ์ธ ๊ฑฐ ์๋?