--- id: P-REINFORCE-AUTO-39CDC5 category: "10_Wiki/๐Ÿ’ก Topics/AI" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - CesiumJS" --- # [[CesiumJS|CesiumJS]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > CesiumJS๋Š” ์›น์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค 3D ์‹œ๊ฐํ™” ์—”์ง„์œผ๋กœ, ์ฃผ๋กœ ๋Œ€๊ทœ๋ชจ ์ง€ํ˜• ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ์˜ ์‹œ๊ฐํ™”๋ฅผ ์„ ๋„ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค [1, 2]. 3D ํƒ€์ผ(3D Tiles), ์ง€ํ˜•(terrain), ์œ„์„ฑ ์ด๋ฏธ์ง€ ๋“ฑ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ 3D ์ฝ˜ํ…์ธ ๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜๊ณ  ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค [1, 2]. ์ง€ํ‘œ๋ฉด์—์„œ ์šฐ์ฃผ ๊ณต๊ฐ„์— ์ด๋ฅด๋Š” ๊ฑฐ๋Œ€ํ•œ ๊ฐ€์ƒ ์„ธ๊ณ„๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด z-ํŒŒ์ดํŒ…(z-fighting)์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋‹ค์ค‘ ์ ˆ๋‘์ฒด(multiple frustums) ๋ฐ ๋ช…์‹œ์  ๋ Œ๋”๋ง(explicit rendering)๊ณผ ๊ฐ™์€ ๋…์ž์ ์ธ WebGL ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [3, 4]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ๋‹ค์ค‘ ์ ˆ๋‘์ฒด (Multiple Frustums):** CesiumJS๋Š” ๋‹ค์–‘ํ•œ ๊ด‘์›์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์”ฌ์ด ๋“œ๋ฌผ๊ธฐ ๋•Œ๋ฌธ์— ์ „ํ†ต์ ์ธ ํฌ์›Œ๋“œ ์…ฐ์ด๋”ฉ(forward-shading) ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [4]. ํŠนํžˆ ๊ฑฐ๋Œ€ํ•œ ๊ฐ€์‹œ๊ฑฐ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋ฉด์„œ ๋ฉ€๋ฆฌ ์žˆ๋Š” ๊ฐ์ฒด ๊ฐ„์˜ z-ํŒŒ์ดํŒ…(z-fighting) ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋ทฐ ๋ณผ๋ฅจ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ ˆ๋‘์ฒด๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๋…ํŠนํ•œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [3, 4]. ๊ฐ€์žฅ ๋จผ ์ ˆ๋‘์ฒด๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋งค๋ฒˆ ๊นŠ์ด ๋ฒ„ํผ๋ฅผ ์ง€์šฐ๋ฉด์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค [5]. - **Scene.render์™€ Primitive ๊ด€๋ฆฌ:** ํ”„๋ ˆ์ž„ ๋ Œ๋”๋ง์˜ ํ•ต์‹ฌ์ธ `Scene.render`๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜, ์—…๋ฐ์ดํŠธ, ๋ Œ๋”๋ง์˜ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค [4, 6]. ์—…๋ฐ์ดํŠธ ๋‹จ๊ณ„์—์„œ ์”ฌ์˜ ๊ธฐ๋ณธ ์š”์†Œ(Primitive, ์˜ˆ: ์ง€ํ˜•๊ณผ ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” Globe ์—”์ง„)๋“ค์ด WebGL ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๊ณ , `DrawCommand` ๊ฐ์ฒด ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค [7, 8]. ์ด ์ค‘ ๊ฐ€์‹œ์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ '์ž ์žฌ์  ๊ฐ€์‹œ ์ง‘ํ•ฉ(Potentially Visible Set)'๋งŒ์ด ํŒŒ์ดํ”„๋ผ์ธ์„ ๋”ฐ๋ผ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค [8]. - **ํˆฌ๋ช…๋„ ์ฒ˜๋ฆฌ (OIT) ๋ฐ ์ •๋ ฌ:** ์ ˆ๋‘์ฒด ๋‚ด์—์„œ ๋ถˆํˆฌ๋ช…(opaque) ๋ช…๋ น์„ ๋จผ์ € ์‹คํ–‰ํ•œ ํ›„ ๋ฐ˜ํˆฌ๋ช…(translucent) ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค [5]. ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋ถ€๋™ ์†Œ์ˆ˜์  ํ…์Šค์ฒ˜๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ, ์ˆœ์„œ ๋น„์˜์กด ํˆฌ๋ช…๋„(Order-Independent Transparency (OIT)) ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜์—ฌ ๊ฒน์น˜๋Š” ๋ฐ˜ํˆฌ๋ช… ๊ฐ์ฒด์˜ ์‹œ๊ฐ์  ํ’ˆ์งˆ์„ ๋†’์ด๊ณ  CPU ์ •๋ ฌ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค [5]. - **๋ช…์‹œ์  ๋ Œ๋”๋ง (Explicit Rendering / requestRenderMode):** ์ง€์†์ ์œผ๋กœ ํ”„๋ ˆ์ž„์„ ๋ Œ๋”๋งํ•˜๋Š” ๋Œ€์‹ , ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด `requestRenderMode` ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค [9]. ์ด ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด ์นด๋ฉ”๋ผ ์ด๋™, ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ๊ฐ„ ๋ณ€๊ฒฝ, ๋˜๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ(3D ํƒ€์ผ ๋“ฑ)๊ฐ€ ๋กœ๋“œ๋  ๋•Œ๋งŒ ๋ช…์‹œ์ ์œผ๋กœ ์ƒˆ ํ”„๋ ˆ์ž„์„ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค [9, 10]. ์ด๋ฅผ ํ†ตํ•ด ์œ ํœด ์ƒํƒœ(idle)์—์„œ CPU ์‚ฌ์šฉ๋ฅ ์„ 25.1%์—์„œ 3.0% ์ˆ˜์ค€์œผ๋กœ ํฌ๊ฒŒ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [10, 11]. - **๊ฐ€์šฐ์‹œ์•ˆ ์Šคํ”Œ๋ž˜ํŒ…(Gaussian Splatting) ์ด์Šˆ:** ์ตœ๊ทผ ๊ฐ€์šฐ์‹œ์•ˆ ์Šคํ”Œ๋žซ ๋ Œ๋”๋ง ์‹œ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹ ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ์—ฌ๋Ÿฌ ํ”„๋ ˆ์ž„์— ๊ฑธ์นœ ๊นŠ์ด ์ •๋ ฌ ์ˆ˜ํ–‰ ์ค‘ ํ”„๋กœ๋ฏธ์Šค ๊ฐ„์„ญ(promise interference)์œผ๋กœ ์ธํ•œ WebGL ์˜ค๋ฅ˜์™€ ๋ฏธ์„ธ ์ง€์—ฐ(micro-stuttering) ํ˜„์ƒ์ด ๋ณด๊ณ ๋œ ๋ฐ” ์žˆ์Šต๋‹ˆ๋‹ค [12-14]. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ๋ฏธ์Šค ์ฒด์ธ์ด ์ค‘์ฒฉ๋˜๋ฉด์„œ ์ •๋ ฌ ๊ฒฐ๊ณผ๋ฅผ ์˜ค์—ผ์‹œ์ผœ ๋ชจ๋ธ์ด ๊นœ๋นก์ด๊ฑฐ๋‚˜ ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค [12, 14]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** AI ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[WebGL|WebGL]], 3D Tiles, Order-Independent Transparency (OIT), Gaussian Splatting, Multiple Frustums - **Projects/Contexts:** Geospatial Visualization, requestRenderMode - **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด, CesiumํŒ€์€ ์—”์ง„์„ ์ง€์†์ ์œผ๋กœ ์ตœ์ ํ™”ํ•˜๊ณ  ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  OIT ๋ฐ ์ง€ํ˜• ๊นŠ์ด ๋ฒ„ํผ๋ฅผ ์œ„ํ•œ ์ „์ฒด ํ™”๋ฉด ํŒจ์Šค(fullscreen passes) ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด์„œ ์ฑ„์šฐ๊ธฐ ์†๋„(fillrate)๊ฐ€ ์ œํ•œ๋œ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ตฌ๋ฒ„์ „(์˜ˆ: 1.1)์— ๋น„ํ•ด ์ตœ์‹  ๋ฒ„์ „(์˜ˆ: 1.10)์˜ ํ‰๊ท  ํ”„๋ ˆ์ž„ ์†๋„(FPS)๊ฐ€ ์˜คํžˆ๋ ค ๊ฐ์†Œํ•˜๋Š” ์‚ฌ๋ก€๊ฐ€ ๋ณด๊ณ ๋˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค [15, 16]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/CesiumJS.md ---