--- id: wiki-2026-0508-3d-gaussian-splatting-3dgs title: 3D Gaussian Splatting (3DGS) category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-REINFORCE-AI-AC09DA] duplicate_of: none source_trust_level: A confidence_score: 0.95 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Batch 9 - Wikified 3D Gaussian Splatting (3DGS)" inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[3D Gaussian Splatting (3DGS)|3D Gaussian Splatting (3DGS)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > 3D Gaussian Splatting (3DGS)์€ 3D ์Šคํ”Œ๋žซ(splat)๋“ค๋กœ ๊ตฌ์„ฑ๋œ ๋ช…์‹œ์  ํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ํ’ˆ์งˆ์˜ ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋ง์„ ๊ตฌํ˜„ํ•˜๋Š” ํ˜์‹ ์ ์ธ ๊ธฐ๋ฒ•์ด๋‹ค [1, 2]. ๊ฐ 3D ๊ฐ€์šฐ์‹œ์•ˆ์€ ์ค‘์‹ฌ ์œ„์น˜, 3D ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ, ์ตœ๋Œ€ ๋ถˆํˆฌ๋ช…๋„, ๊ทธ๋ฆฌ๊ณ  ๊ตฌ๋ฉด ์กฐํ™”(Spherical Harmonics) ๊ณ„์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ์‹œ์  ์ข…์†์  ์ƒ‰์ƒ์œผ๋กœ ์ •์˜๋œ๋‹ค [2]. ์˜ฌ๋ฐ”๋ฅธ ๋ Œ๋”๋ง์„ ์œ„ํ•ด ์นด๋ฉ”๋ผ๋กœ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์šฐ์‹œ์•ˆ๋“ค์„ ๋’ค์—์„œ ์•ž์œผ๋กœ ์ •๋ ฌ(depth sorting)ํ•˜๊ณ  ์•ŒํŒŒ ๋ธ”๋ Œ๋”ฉ(alpha-blending)ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์ˆ˜์ ์ด๋ฉฐ [3, 4], ๋ฏธ๋ถ„ ๊ฐ€๋Šฅํ•œ ํŠน์„ฑ ๋•๋ถ„์— ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ ๊ณ ํ’ˆ์งˆ ์žฌ๊ตฌ์„ฑ ๋ฐ ์ƒ์„ฑ์  3D ๋ชจ๋ธ๋ง์— ํ™œ๋ฐœํžˆ ์‘์šฉ๋˜๊ณ  ์žˆ๋‹ค [1]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **๊ธฐ๋ณธ ๋™์ž‘ ์›๋ฆฌ์™€ ๋ Œ๋”๋ง ๊ตฌ์กฐ:** 3DGS๋Š” ์žฅ๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” 3D ๊ฐ€์šฐ์‹œ์•ˆ๋“ค์„ 2D ์ด๋ฏธ์ง€ ํ‰๋ฉด์œผ๋กœ ํˆฌ์˜ํ•˜์—ฌ ๋ Œ๋”๋ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค [2, 4]. ํˆฌ์˜๋œ 2D ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ๊ณผ ํ•™์Šต๋œ ๋ถˆํˆฌ๋ช…๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ ํ”ฝ์…€์— ๋Œ€ํ•œ ์•ŒํŒŒ ๊ธฐ์—ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉฐ, ์นด๋ฉ”๋ผ ์‹œ์  ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ๊ตฌ๋ฉด ์กฐํ™” ํ•จ์ˆ˜๋ฅผ ํ‰๊ฐ€ํ•˜์—ฌ ๋ฐ˜์‚ฌ ํšจ๊ณผ ๋ฐ ์ตœ์ข… ์ƒ‰์ƒ์„ ๊ฒฐ์ •ํ•œ๋‹ค [2, 4]. ํˆฌ๋ช…๋„๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ๊ฐ€์šฐ์‹œ์•ˆ์„ ๋งค ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์นด๋ฉ”๋ผ์™€์˜ ๊ฑฐ๋ฆฌ์— ๋”ฐ๋ผ ๋’ค์—์„œ ์•ž์œผ๋กœ ์ •๋ ฌํ•ด์•ผ ํ•˜๋Š” ๋ง‰๋Œ€ํ•œ ์—ฐ์‚ฐ์ด ์š”๊ตฌ๋œ๋‹ค [3-5]. - **WebGL ํ™˜๊ฒฝ์—์„œ์˜ ์„ฑ๋Šฅ ํ•œ๊ณ„ ๋ฐ ์˜ค๋ฅ˜:** ๊ธฐ์กด์˜ WebGL API๋Š” ๋ฒ”์šฉ์ ์ธ GPU ์—ฐ์‚ฐ(Compute) ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š์•„, 3DGS์˜ ํ•ต์‹ฌ์ธ ๊นŠ์ด ์ •๋ ฌ ์ž‘์—…์„ JavaScript๋‚˜ WebAssembly๋ฅผ ํ†ตํ•ด CPU์— ์˜คํ”„๋กœ๋“œํ•ด์•ผ ํ•œ๋‹ค [6-8]. ์ด๋Š” CPU๊ฐ€ ์ •๋ ฌ์„ ๋งˆ์นœ ๋’ค ํฐ ๋ฒ„ํผ๋ฅผ GPU๋กœ ์—…๋กœ๋“œํ•˜๊ณ  ๋“œ๋กœ์šฐ ์ฝœ์„ ๋ฐœ์ƒ์‹œ์ผœ์•ผ ํ•˜๋Š” ์‹ฌ๊ฐํ•œ ๋™๊ธฐํ™” ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์œ ๋ฐœํ•˜๋ฉฐ, ์žฅ๋ฉด์ด ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก 16.67ms์˜ ํ”„๋ ˆ์ž„ ์˜ˆ์‚ฐ์„ ๋งž์ถ”์ง€ ๋ชปํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค [6, 8]. ์‹ค์ œ๋กœ CesiumJS์™€ ๊ฐ™์€ ์‹œ์Šคํ…œ์—์„œ๋Š” ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹ ์ฒ˜๋ฆฌ ์‹œ 1ํ”„๋ ˆ์ž„ ๋‚ด์— ์ •๋ ฌ์ด ๋๋‚˜์ง€ ์•Š์•„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Promise ์ฒด์ธ์ด ์„œ๋กœ ๊ฐ„์„ญํ•˜๋Š” ๊ฒฝํ•ฉ ์กฐ๊ฑด(race condition)์ด ๋ฐœ์ƒํ•˜๋ฉฐ, ์ด๋กœ ์ธํ•ด ๋ชจ๋ธ์ด ๊นœ๋นก์ด๊ฑฐ๋‚˜ ๋ Œ๋”๋ง๋˜์ง€ ์•Š๋Š” WebGL ์˜ค๋ฅ˜ ๋ฐ ๋งˆ์ดํฌ๋กœ ์Šคํ„ฐํ„ฐ๋ง(micro-stuttering)์ด ๋ณด๊ณ ๋˜์—ˆ๋‹ค [9-12]. - **WebGPU ๋ฐ WebSplatter๋ฅผ ํ†ตํ•œ GPU ํŒŒ์ดํ”„๋ผ์ธ ์ตœ์ ํ™”:** WebGL์˜ ๊ตฌ์กฐ์  ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด WebGPU์˜ ์ปดํ“จํŠธ ์…ฐ์ด๋”(Compute Shader)๋ฅผ ํ™œ์šฉํ•˜๋Š” ์ ‘๊ทผ๋ฒ•์ด ๋Œ€๋‘๋˜์—ˆ๋‹ค [6, 7, 13]. ๋Œ€ํ‘œ์ ์œผ๋กœ WebSplatter ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊นŠ์ด ์ •๋ ฌ๊ณผ ์‹œ์  ์ ์‘ํ˜• ํ‰๊ฐ€๋ฅผ ๋ชจ๋‘ GPU ์—ฐ์‚ฐ์œผ๋กœ ์ด์ „ํ•˜์—ฌ CPU-GPU ๊ฐ„์˜ ๋™๊ธฐํ™” ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ œ๊ฑฐํ•˜์˜€๋‹ค [6, 14]. ํŠนํžˆ WebGPU ํ™˜๊ฒฝ์— ๊ธ€๋กœ๋ฒŒ ์•„ํ† ๋ฏน(global atomics) ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•œ ์ ์„ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด, ํ•˜๋“œ์›จ์–ด ์Šค์ผ€์ค„๋ง์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š” '๋Œ€๊ธฐ ์—†๋Š”(wait-free) ๊ณ„์ธต์  ๊ธฐ์ˆ˜ ์ •๋ ฌ(radix sort)' ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋„์ž…ํ•˜์˜€๋‹ค [6, 15, 16]. ๋˜ํ•œ, ๋ž˜์Šคํ„ฐํ™” ์ด์ „ ๋‹จ๊ณ„์—์„œ ๋ถˆํˆฌ๋ช…๋„ ๋ฐ ์‹œ์•ผ ๋ฒ”์œ„(Bounding Box)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ™”๋ฉด ๋ฐ– ์Šคํ”Œ๋žซ์„ ์„ ์ œ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ๋™์  ์ปฌ๋ง(culling)์„ ์ ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ๊ณผ ์˜ค๋ฒ„๋“œ๋กœ์šฐ๋ฅผ ํฌ๊ฒŒ ์ค„์˜€๋‹ค [15, 17-19]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์‹ ๊ทœ ๋ฌธ์„œ๋กœ, ๊ธฐ์กด ์ •๋ณด์™€์˜ ์ถฉ๋Œ ๋ถ„์„ ์˜ˆ์ •. - **์ •์ฑ… ๋ณ€ํ™”:** Graphics & Performance ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ง€์‹ ์—ฐ๊ฒฐ๋ง ๊ฐ•ํ™”๋ฅผ ์œ„ํ•œ ํ‘œ์ค€ ์œ„ํ‚คํ™” ์ ์šฉ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[WebGPU|WebGPU]], [[WebGL|WebGL]], [[Compute Shader|Compute Shader]] - **Projects/Contexts:** WebSplatter, [[CesiumJS|CesiumJS]] - **Contradictions/Notes:** WebGL ๊ธฐ๋ฐ˜์˜ ๊ธฐ์กด 3DGS ๊ตฌํ˜„์€ ์ •๋ ฌ ์ž‘์—…์„ CPU์— ์˜์กดํ•˜๋ฏ€๋กœ ๋™๊ธฐํ™” ๋ณ‘๋ชฉ๊ณผ ํ”„๋ ˆ์ž„ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜์ง€๋งŒ, WebGPU ๊ธฐ๋ฐ˜์˜ WebSplatter๋Š” ํŒŒ์ดํ”„๋ผ์ธ ์ „์ฒด๋ฅผ GPU์—์„œ ๋ณ‘๋ ฌ ์—ฐ์‚ฐํ•จ์œผ๋กœ์จ ๊ธฐ์กด ์›น ๋ทฐ์–ด ๋Œ€๋น„ ์ตœ๋Œ€ 4.5๋ฐฐ์˜ ๋ Œ๋”๋ง ์†๋„ ํ–ฅ์ƒ๊ณผ ๋‚ฎ์€ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๋ฅผ ๋‹ฌ์„ฑํ•œ๋‹ค [6, 8, 15, 20]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/3D Gaussian Splatting (3DGS).md --- ## ๐Ÿค– LLM ํ™œ์šฉ ํžŒํŠธ (How to Use This Knowledge) **์–ธ์ œ ์ด ์ง€์‹์„ ์“ฐ๋Š”๊ฐ€:** - *(TODO)* **์–ธ์ œ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€:** - *(TODO)* ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ:** needs_review - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„:** A - **๊ฒ€ํ†  ์ด์œ :** *(P-Reinforce Phase 1 ์ž๋™ ์ •๊ทœํ™”. ๋ณธ๋ฌธ ๊ฒ€์ฆ ํ•„์š”.)* ## ๐Ÿงฌ ์ค‘๋ณต ๊ฒ€์‚ฌ (Duplicate Check) - **๊ธฐ์กด ์œ ์‚ฌ ๋ฌธ์„œ:** *(TODO: ์ธ๋ฑ์„œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌํฌํŠธ ์ฐธ์กฐ)* - **์ฒ˜๋ฆฌ ๋ฐฉ์‹:** UPDATE (์ž๋™ ์ •๊ทœํ™”) - **์ฒ˜๋ฆฌ ์ด์œ :** Phase 1 ์ •๊ทœํ™” โ€” ์˜› ํ…œํ”Œ๋ฆฟ/๋ˆ„๋ฝ ํ•„๋“œ ๋ณด๊ฐ•. ## ๐Ÿ•“ ๋ณ€๊ฒฝ ์ด๋ ฅ (Changelog) | ๋‚ ์งœ | ๋ณ€๊ฒฝ ๋‚ด์šฉ | ์ฒ˜๋ฆฌ ๋ฐฉ์‹ | ์‹ ๋ขฐ๋„ | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 ์ •๊ทœํ™” (frontmatter + ํ—ค๋” ํ‘œ์ค€ํ™”) | UPDATE | A | ## ๐Ÿ’ป ์ฝ”๋“œ ํŒจํ„ด (Code Patterns) **ํŒจํ„ด 1:** *(TODO: ์ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜ ๋ฐ˜์˜ํ•œ ๊ตฌ์กฐ ์Šค์ผˆ๋ ˆํ†ค)* ```text # TODO ``` ## ๐Ÿค” ์˜์‚ฌ๊ฒฐ์ • ๊ธฐ์ค€ (Decision Criteria) **์„ ํƒ A๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **์„ ํƒ B๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **๊ธฐ๋ณธ๊ฐ’:** > *(TODO)* ## โŒ ์•ˆํ‹ฐํŒจํ„ด (Anti-Patterns) - **[์•ˆํ‹ฐํŒจํ„ด]:** *(TODO: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*