--- id: P-REINFORCE-AUTO-8CE1CE category: "10_Wiki/๐Ÿ’ก Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - ์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw)" --- # [[แ„‹แ…ฉแ„‡แ…ฅแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ฎ(Overdraw)|์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw)๋Š” ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ์…ฐ์ด๋”ฉ(Fragment Shading) ๋‹จ๊ณ„์—์„œ ๋™์ผํ•œ ํ”ฝ์…€ ์œ„์น˜์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ์“ฐ๊ธฐ ์ž‘์—…์ด ์ค‘์ฒฉ๋˜์–ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค [1]. ์ฃผ๋กœ ๊ฒน์ณ์ง„ ํˆฌ๋ช…ํ•œ ๊ธฐํ•˜๊ตฌ์กฐ๋‚˜ ๋น„ํšจ์œจ์ ์ธ ๊นŠ์ด ์ •๋ ฌ(Depth Sorting)๋กœ ์ธํ•ด ๋ณด์ด์ง€ ์•Š๋Š” ํ”ฝ์…€ ์—ฐ์‚ฐ์— GPU ์ž์›์„ ๋‚ญ๋น„ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค [2]. ์ด๋Š” ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ถˆํ•„์š”ํ•œ GPU ํ”ฝ์…€ ์ฒ˜๋ฆฌ ๋น„์šฉ์„ ์œ ๋ฐœํ•˜์—ฌ ์‹ฌ๊ฐํ•œ ํ”„๋ ˆ์ž„ ์†๋„ ์ €ํ•˜ ๋ฐ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์„ ์ดˆ๋ž˜ํ•œ๋‹ค [1, 3]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์˜ค๋ฒ„๋“œ๋กœ์šฐ์˜ ๋ฐœ์ƒ ์›๋ฆฌ:** ์˜ค๋ฒ„๋“œ๋กœ์šฐ๋Š” GPU๊ฐ€ ํ•œ ํ”„๋ ˆ์ž„ ๋‚ด์—์„œ ๊ฒน์ณ์ง„ ๊ธฐํ•˜๊ตฌ์กฐ๋กœ ์ธํ•ด ๋™์ผํ•œ ํ”ฝ์…€์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ Œ๋”๋งํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค [2]. ๋ถˆํˆฌ๋ช…ํ•œ ๋ฌผ์ฒด์˜ ๊ฒฝ์šฐ, ์ผ๋ฐ˜์ ์œผ๋กœ '์•ž์—์„œ ๋’ค๋กœ(Front-to-Back)' ์ •๋ ฌํ•˜์—ฌ ๋ Œ๋”๋งํ•จ์œผ๋กœ์จ ๋’ค์— ๊ฐ€๋ ค์ง„ ํ”ฝ์…€ ์—ฐ์‚ฐ์„ ์กฐ๊ธฐ์— ์ข…๋ฃŒ(Early-Z)ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์นด๋ฉ”๋ผ์™€ ๊ฐ€์žฅ ๋ฉ€๋ฆฌ ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ ๋จผ์ € ๊ทธ๋ ค์งˆ ๊ฒฝ์šฐ GPU๋Š” ๋™์ผํ•œ ํ”ฝ์…€ ์˜์—ญ์— ์ค‘๋ณต๋œ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค [1]. ํˆฌ๋ช…ํ•œ ์žฌ์งˆ์˜ ๊ฒฝ์šฐ์—๋Š” ์˜ฌ๋ฐ”๋ฅธ ์•ŒํŒŒ ๋ธ”๋ Œ๋”ฉ์„ ์œ„ํ•ด '๋’ค์—์„œ ์•ž์œผ๋กœ(Back-to-Front)' ๋ Œ๋”๋ง์„ ๊ฐ•์ œ๋ฐ›์œผ๋ฏ€๋กœ, ์ˆจ๊ฒจ์ง„ ํ”ฝ์…€์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ์ดˆ๊ธฐ ๊นŠ์ด ํ…Œ์ŠคํŠธ(Early-Z) ์ตœ์ ํ™”๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์˜ค๋ฒ„๋“œ๋กœ์šฐ๊ฐ€ ๋”์šฑ ์‹ฌํ™”๋œ๋‹ค [2, 4]. - **InstancedMesh์™€ ์˜ค๋ฒ„๋“œ๋กœ์šฐ:** Three.js์˜ `InstancedMesh`๋Š” ๋‹จ์ผ ๋“œ๋กœ์šฐ ์ฝœ๋กœ ๋‹ค์ˆ˜์˜ ๊ฐ์ฒด๋ฅผ ๋ Œ๋”๋งํ•˜์ง€๋งŒ ์ž๋™ ์ •๋ ฌ(Sorting) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์•„ ๋‚ด๋ถ€ ์ธ์Šคํ„ด์Šค๋“ค์ด ๋ฒ„ํผ์— ์ €์žฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ๋ Œ๋”๋ง๋œ๋‹ค [1, 5, 6]. ์ด๋กœ ์ธํ•ด ๋“œ๋กœ์šฐ ์ฝœ ๊ฐ์†Œ๋กœ ์–ป์€ CPU ์ด๋“๋ณด๋‹ค, ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์ธ์Šคํ„ด์Šค๋“ค์ด ์œ ๋ฐœํ•˜๋Š” ๋ง‰๋Œ€ํ•œ ์˜ค๋ฒ„๋“œ๋กœ์šฐ ๋น„์šฉ์ด GPU์˜ ํ”ฝ์…€ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ์ƒํšŒํ•˜๋Š” ์—ญ์ „ ํ˜„์ƒ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค [1]. ํŠนํžˆ ๋ณต์žกํ•œ ์กฐ๋ช… ์—ฐ์‚ฐ์ด ํฌํ•จ๋œ `MeshStandardMaterial` ๋“ฑ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์”ฌ(Scene)์ด ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ(Fragment-bound) ์ƒํƒœ์— ๋น ์ ธ ์น˜๋ช…์ ์ธ ํ”„๋ ˆ์ž„ ๋“œ๋ž์„ ์œ ๋ฐœํ•œ๋‹ค [1, 6]. - **์˜ค๋ฒ„๋“œ๋กœ์šฐ ์ตœ์ ํ™” ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ:** ํˆฌ๋ช…๋„๋กœ ์ธํ•œ ์˜ค๋ฒ„๋“œ๋กœ์šฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ ค๋ฉด ์•ŒํŒŒ ํ…Œ์ŠคํŠธ ํˆฌ๋ช…๋„(Alpha-tested transparency)๋ฅผ ๊ฐ€๋Šฅํ•œ ํ•œ ๋ถˆํˆฌ๋ช…ํ•œ ๊ธฐํ•˜๊ตฌ์กฐ๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜, ๊ฐ€์žฅ์ž๋ฆฌ ์Šค๋ฌด๋”ฉ์— Alpha-to-coverage๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค [2, 7]. ๋˜ํ•œ ํˆฌ๋ช…ํ•œ ๊ฐ์ฒด ๊ฐ„์˜ ๊ฒน์นจ์ด ์ค„์–ด๋“ค๋„๋ก ๋ Œ๋”๋ง ์ˆœ์„œ๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ์ •๋ ฌํ•ด์•ผ ํ•œ๋‹ค [7]. `InstancedMesh`์˜ ์ •๋ ฌ ๋ถ€์žฌ ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ์ธ์Šคํ„ด์Šค๋“ค์ด ๋ Œ๋”๋ง๋˜๋Š” ๋ฐฉ์‹์„ ์นด๋ฉ”๋ผ ๊ธฐ์ค€์œผ๋กœ ๊ฐœ๋ณ„ ์ •๋ ฌ(Sorting)ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์•ˆ์  ๊ธฐ์ˆ (`BatchedMesh` ๋“ฑ)์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค [6, 8]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[แ„‘แ…ณแ„…แ…ขแ„€แ…ณแ„†แ…ฅแ†ซแ„แ…ณ แ„‰แ…จแ„‹แ…ตแ„ƒแ…ตแ†ผ(Fragment Shading)|ํ”„๋ž˜๊ทธ๋จผํŠธ ์…ฐ์ด๋”ฉ(Fragment Shading)]], ๊นŠ์ด ์ •๋ ฌ(Depth Sorting), Early-Z (์ดˆ๊ธฐ ๊นŠ์ด ํ…Œ์ŠคํŠธ), [[แ„‘แ…ณแ„…แ…ขแ„€แ…ณแ„†แ…ฅแ†ซแ„แ…ณ แ„‡แ…กแ„‹แ…ฎแ†ซแ„ƒแ…ณ(Fragment-bound)|ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ(Fragment-bound)]] - **Projects/Contexts:** Three.js InstancedMesh ์ตœ์ ํ™”, ํˆฌ๋ช…๋„(Transparency) ๋ Œ๋”๋ง ๊ด€๋ฆฌ - **Contradictions/Notes:** `InstancedMesh`๋Š” ๋“œ๋กœ์šฐ ์ฝœ(Draw Call)์„ ํš๊ธฐ์ ์œผ๋กœ ์ค„์—ฌ CPU ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ์†Œ์‹œํ‚ค๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ•์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์œผ๋‚˜, ์ž๋™ ์ •๋ ฌ ๊ธฐ๋Šฅ์ด ์—†์–ด ์˜คํžˆ๋ ค ๋ง‰๋Œ€ํ•œ ์˜ค๋ฒ„๋“œ๋กœ์šฐ๋ฅผ ์œ ๋ฐœํ•˜๊ณ  GPU ํ”ฝ์…€ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ตฌ์กฐ์ ์ธ ๋ชจ์ˆœ(ํŠธ๋ ˆ์ด๋“œ์˜คํ”„)์„ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค [1]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw).md ---