๐ Rendering์ด๋?
๋ ๋๋ง์ ๋์งํธ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋์ด ์ธ์ํ ์ ์๋ ํํ๋ก ๋ณํํ๋ ๊ณผ์ ์ด๋ค. ์ฆ, ์ ๋ ฅ ๋ฐ์ดํฐ(๋ชจ๋ธ, ํ ์ค์ฒ, ์กฐ๋ช , ๋ฌผ๋ฆฌ ๋ฒ์น ๋ฑ)๋ฅผ ์ถ๋ ฅ ๋ฐ์ดํฐ(์ด๋ฏธ์ง, ์์, UI ํ๋ฉด, ์ ๋๋งค์ด์ ๋ฑ)๋ก ๋ณํํ๋ ์์ ์ ์๋ฏธํ๋ค. ์ด ๊ณผ์ ์ ์ฃผ๋ก ์ปดํจํฐ ๊ทธ๋ํฝ์ค, ์น ๊ฐ๋ฐ, ๊ฒ์ ๊ฐ๋ฐ, ์์ ์ ์, ์ ๋๋งค์ด์ , UI ๋ ๋๋ง ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ์ง์ ๋ณด๊ณ ์ํธ์์ฉํ ์ ์๋ ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๋ค.
โญ ์์
โ ๊ฒ์ ์์ง: 3D ๋ชจ๋ธ, ์กฐ๋ช , ๋ฌผ๋ฆฌ ์ฐ์ฐ์ ์ค์๊ฐ์ผ๋ก ๊ณ์ฐํ์ฌ ๊ฒ์ ํ๋ฉด์ ๊ตฌ์ฑ (์: Unity Engine, Unreal Engine)
โ ์น ํ์ด์ง: ๋ธ๋ผ์ฐ์ ๊ฐ HTML, CSS, JavaScript๋ฅผ ํด์ํ์ฌ UI๋ฅผ ํ๋ฉด์ ๋ ๋๋ง (์: React, Vue.js)
โ ์ ๋๋ฉ์ด์ ๋ฐ ์ํ: 3D ํ๊ฒฝ์ ์ค์ ํ๊ณ , ๊ณ ํ์ง ๋ ๋๋ง์ ํตํด ํ์ค๊ฐ ์๋ ์ฅ๋ฉด์ ์ ์ (์: Pixar, DreamWorks)
โญ ์ญํ
โ ์๊ฐ์ ์ ๋ณด ์ ๊ณต: ์น UI, ๊ฒ์ ๊ทธ๋ํฝ, ์์ ๋ฑ์์ ํ๋ฉด์ ๊ตฌ์ฑ
โ ํ์ค๊ฐ ์๋ ํํ: ์์, ์กฐ๋ช , ์ง๊ฐ, ๋ฐ์ฌ ํจ๊ณผ๋ฅผ ๊ณ์ฐํ์ฌ ์ฌ์ค์ ์ธ ์ฅ๋ฉด ์ฐ์ถ
โ 3D → 2D ๋ณํ: 3D ๋ฐ์ดํฐ๋ฅผ 2D ํ๋ฉด์์ ์์ฐ์ค๋ฝ๊ฒ ํํ
โ ์ค์๊ฐ ๋ฐ์: ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ผ ํ๋ฉด์ ๋์ ์ผ๋ก ๋ ๋๋ง
๐ Rendering ์ ํ
1๏ธโฃ ์ ์ ๋ ๋๋ง(Static Rendering) vs ๋์ ๋ ๋๋ง(Dynamic Rendering)
๐น ์ ์ ๋ ๋๋ง
- ํ ๋ฒ ๋ ๋๋งํ ํ ๊ฒฐ๊ณผ๋ฌผ์ ์ ์ฅํ์ฌ ๋ค์ ๋ ๋๋งํ ํ์ ์์ด ๊ทธ๋๋ก ์ ๊ณต
- ์ฃผ๋ก ๋ณ๊ฒฝ์ด ํ์ ์๋ ์ฝํ ์ธ ์ ์ฌ์ฉ
- ์: ์ ์ง ์ด๋ฏธ์ง, ์ ์ ์น์ฌ์ดํธ(HTML/CSS), ์์ ๋ ๋๋ง
๐น ๋์ ๋ ๋๋ง
- ์ฌ์ฉ์ ์ ๋ ฅ์ด๋ ํ๊ฒฝ ๋ณํ์ ๋ฐ๋ผ ์ค์๊ฐ์ผ๋ก ํ๋ฉด์ ๋ค์ ๋ ๋๋ง
- ์ฃผ๋ก ์ฌ์ฉ์์์ ์ํธ์์ฉ์ด ๋ง์ ์ฝํ ์ธ ์ ์ฌ์ฉ
- ์: ๊ฒ์, ์ ๋๋ฉ์ด์ , SPA(Single Page Application) ์น์ฌ์ดํธ
2๏ธโฃ CPU ๋ ๋๋ง(Central Processing Unit Rendering) vs GPU ๋ ๋๋ง(Graphics Processing Unit Rendering)
๐น CPU ๋ ๋๋ง
- CPU์์ ์์ฐจ์ ์ผ๋ก ์ฐ์ฐ์ ์ํํ์ฌ ํฝ์ ์ ๊ณ์ฐํ๋ ๋ฐฉ์
- ์ฐ์ฐ์ด ์ ํํ์ง๋ง ์๋๊ฐ ๋๋ฆผ (๊ณ ํ์ง ๋ ๋๋ง์ ์ ํฉ)
- ์: CGI ์ํ ์ ์, ๊ณ ํด์๋ ์ฌ์ง ๋ ๋๋ง, ๊ฑด์ถ ์๋ฎฌ๋ ์ด์
๐น GPU ๋ ๋๋ง
- GPU์ ๋ณ๋ ฌ ์ฐ์ฐ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋น ๋ฅด๊ฒ ๋ ๋๋ง
- ๋ค๋์ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์ฒ๋ฆฌํ์ฌ ์ค์๊ฐ ๊ทธ๋ํฝ์ ์ ํฉ
- ์: ์ค์๊ฐ ๊ฒ์ ๊ทธ๋ํฝ, VR(๊ฐ์ํ์ค), 3D ๋ชจ๋ธ๋ง
3๏ธโฃ ์ค์๊ฐ ๋ ๋๋ง(Real-time Rendering) vs ์คํ๋ผ์ธ ๋ ๋๋ง(Offline Rendering)
๐น ์ค์๊ฐ ๋ ๋๋ง
- ์ด๋น 30~60ํ๋ ์ ์ด์์ ๋ ๋๋งํ์ฌ ์ฆ๊ฐ์ ์ธ ๋ฐ์์ ์ ๊ณต
- ๋ฐ์ ์๋๊ฐ ์ค์ํ๋ฏ๋ก ๋ ๋๋ง ์ต์ ํ(LOD, Culling ๋ฑ)๊ฐ ํ์
- ์: Unity Engine, Unreal Engine, ๊ฒ์ ๊ทธ๋ํฝ, VR
๐น ์คํ๋ผ์ธ ๋ ๋๋ง
- ๋ ๋๋ง ํ์ง์ด ๊ฐ์ฅ ์ค์ํ๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ ์๋๋ณด๋ค ์ ๋ฐํ ๊ณ์ฐ์ ์ฐ์
- ํ ํ๋ ์๋น ์ ์๊ฐ~์ ์ผ์ด ๊ฑธ๋ฆด ์๋ ์์
- ์: ์ํ CG, ์ ๋๋ฉ์ด์ , ๊ฑด์ถ ์๊ฐํ, ๊ณ ํ์ง 3D ๋ชจ๋ธ
๐ ๊ฒ์ ๊ฐ๋ฐ์์์ Rendring ์ต์ ํ ๊ธฐ๋ฒ
๐น LOD(Level of Detail)
~> ๋ฉ๋ฆฌ ์๋ ์ค๋ธ์ ํธ๋ ์ ํด์๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ , ๊ฐ๊น์ด ์๋ ์ค๋ธ์ ํธ๋ ๊ณ ํด์๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๋ ๋๋ง ๋ถํ๋ฅผ ์ค์ด๋ ๊ธฐ๋ฒ
~> ์: ์คํ์๋ ๊ฒ์์์ ๋จผ ๋ฐฐ๊ฒฝ์ ๊ฐ๋ตํ๋ ๋ชจ๋ธ์ ์ฌ์ฉ
๐น Culling
~> ๋ณด์ด์ง ์๋ ๊ฐ์ฒด๋ ๋ ๋๋งํ์ง ์๋ ๊ธฐ๋ฒ
~> Occlusion Culling: ๋ณด์ด์ง ์๋ ๊ฐ์ฒด(์: ๋ฒฝ ๋ค์ ์ค๋ธ์ ํธ)๋ ๋ ๋๋งํ์ง ์์
~> Frustum Culling: ์นด๋ฉ๋ผ ์์ผ ๋ฐ์ ๊ฐ์ฒด๋ ๋ ๋๋งํ์ง ์์
~> Backface Culling: ๋ค์ชฝ ๋ฉด์ ๋ ๋๋งํ์ง ์์
~> Animation Culling: ํ๋ฉด์ ๋ณด์ด์ง ์๋ ์ ๋๋งค์ด์ ์ ์ ๋ฐ์ดํธํ์ง ์์
๐น Draw Call Optimization
~> GPU๊ฐ ์ฌ๋ฌ ๊ฐ์ ๊ฐ๋ณ ๊ฐ์ฒด๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ , ๋น์ทํ ๊ฐ์ฒด๋ค์ ํ๋์ ๋ฐฐ์น๋ก ๋ฌถ์ด ๋ ๋๋ง
~> Instancing ๊ธฐ๋ฒ์ ํ์ฉํ์ฌ ๊ฐ์ ์ค๋ธ์ ํธ๋ ํ ๋ฒ๋ง ๋ ๋๋งํ๊ณ ์ฌ๋ฌ ์์น์์ ํ์
~> ์: ์๋ง์ NPC๋ ๋๋ฌด, ๋ฐ์ ๊ฐ์ ์ค๋ธ์ ํธ๋ฅผ ์ต์ ํํ๋ ๋ฐ ํ์ฉ
๐น Dynamic Resolution Scaling
~> ํ๋ ์ ์๋์ ๋ฐ๋ผ ํด์๋๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ์ฌ ์ฑ๋ฅ ์ ์ง
~> ์: NVIDIA DLSS(Deep Learning Super Sampling) ๊ธฐ์
๐น Texture Streaming & Compression
~> ํ์ํ ํ ์ค์ฒ๋ง ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ๊ฑฐ๋ ์์ถ๋ ํ ์ค์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ ์ต์ ํ
~> DXT, ASTC, ETC2 ๊ฐ์ ์์ถ ํฌ๋งท ์ฌ์ฉ
๐น Shader Optimization
~> ํฝ์ ์ ฐ์ด๋์์ ๋ถํ์ํ ์ฐ์ฐ์ ์ค์ด๊ณ , ํ๋ ์ ๋จ์๋ก ์ฐ์ฐํ์ง ์๋๋ก ์กฐ์
~> ์: ์์ด๋ LOD ํ์ฉ, ๊ณ์ฐ๋์ด ๋ง์ ํจ๊ณผ๋ฅผ ํ๋ ์๋ง๋ค ์ ๋ฐ์ดํธํ์ง ์๋๋ก ํจ
'๐ Computer Science' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Interpreter, Compiler์ ๋ํ์ฌ (0) | 2025.03.12 |
---|---|
NUnit์ ๋ํ์ฌ (0) | 2025.03.08 |
Node.js์ ๋ํ์ฌ (0) | 2025.03.05 |
Database์ ๋ํ์ฌ (0) | 2025.02.21 |
Ping, Jitter, Packet Loss์ ๋ํ์ฌ (0) | 2025.02.19 |