--- id: P-REINFORCE-AUTO-DDC386 category: "10_Wiki/๐Ÿ’ก Topics/Graphics & Performance" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Vulkan" --- # [[Vulkan|Vulkan]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > Vulkan์€ Metal, Direct3D 12์™€ ํ•จ๊ป˜ WebGPU ์„ค๊ณ„์˜ ๊ธฐ๋ฐ˜์ด ๋œ ํ˜„๋Œ€์ ์ธ ๊ทธ๋ž˜ํ”ฝ์Šค API์ž…๋‹ˆ๋‹ค [1]. ๋‹จ์ผ ์Šค๋ ˆ๋“œ์™€ ์ƒํƒœ ์ €์žฅ(Stateful)์— ์˜์กดํ•˜๋Š” WebGL์ด๋‚˜ d3d9 ๊ฐ™์€ ๊ตฌํ˜• API์™€ ๋‹ฌ๋ฆฌ, ๋“œ๋กœ์šฐ ์ฝœ(Draw call) ์˜ค๋ฒ„ํ—ค๋“œ ์ฒ˜๋ฆฌ์— ํ›จ์”ฌ ํšจ์œจ์ ์ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค [1, 2]. ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง(Conditional Rendering)์ด๋‚˜ ๊ฐ„์ ‘ ๊ทธ๋ฆฌ๊ธฐ(Indirect drawing) ๋“ฑ ์ตœ์‹  ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ๊ฐ•๋ ฅํ•œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [3, 4]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) ๋ฃจํŠธ ์ฃผ์ œ์ธ Vulkan์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ด๊ณ  ์ƒ์„ธํ•œ ์•„ํ‚คํ…์ฒ˜ ์„ค๋ช…์€ ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ๋ฐ์ดํ„ฐ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•œ ํ•ต์‹ฌ์ ์ธ ํŠน์ง•๊ณผ ํ™œ์šฉ ์‚ฌ๋ก€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. * **์ตœ์‹  ๊ทธ๋ž˜ํ”ฝ์Šค API๋กœ์˜ ๊ธฐ์ค€์ **: WebGPU๋Š” ๊ตฌํ˜• WebGL์˜ ๋‹จ์ผ ์Šค๋ ˆ๋“œ ๋ฐ ์ƒํƒœ ์ €์žฅ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ, ์ด๋•Œ Vulkan, Metal, Direct3D 12์™€ ๊ฐ™์€ ์ตœ์‹  ๊ทธ๋ž˜ํ”ฝ์Šค API์˜ ๊ตฌ๋™ ๋ฐฉ์‹์„ ๋ฒค์น˜๋งˆํ‚นํ–ˆ์Šต๋‹ˆ๋‹ค [1]. * **๋“œ๋กœ์šฐ ์ฝœ(Draw Call) ๋น„์šฉ ์™„ํ™”**: ์ˆ˜๋งŽ์€ ๊ฐ์ฒด๋ฅผ ๊ทธ๋ฆด ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋“œ๋กœ์šฐ ์ฝœ ํšŸ์ˆ˜๋Š” ์„ฑ๋Šฅ์— ์ง๊ฒฐ๋˜์ง€๋งŒ, d3d9๊ณผ ๊ฐ™์€ ๊ณผ๊ฑฐ API์— ๋น„ํ•ด Vulkan ํ™˜๊ฒฝ์—์„œ๋Š” ๋“œ๋กœ์šฐ ์ฝœ ์ฆ๊ฐ€๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜(์˜ค๋ฒ„ํ—ค๋“œ)๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์Šต๋‹ˆ๋‹ค [2]. * **์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง(Conditional Rendering) ํ™•์žฅ**: Vulkan์€ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง์ด๋ผ๋Š” ํ™•์žฅ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด, GPU์ƒ์—์„œ ๊ฐ์ฒด๋“ค์„ ์ž์ฒด์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜๊ณ  ์ปฌ๋ง(Culling) ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ(์ฆ‰, ํ™”๋ฉด์— ๋ณด์—ฌ์•ผ ํ•˜๋Š”) ๋“œ๋กœ์šฐ ์ฝœ๋งŒ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜๋„๋ก ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 5]. * **๊ทธ๋ž˜ํ”ฝ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™œ์šฉ ์‚ฌ๋ก€**: ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด์—์„œ Vulkan์€ ๊ฐ„์ ‘ ๊ทธ๋ฆฌ๊ธฐ ๋ฐ ๋น› ์ปฌ๋ง(Light Culling) ๊ธฐ๋Šฅ์ด ๋“ค์–ด๊ฐ„ Forward+ ๋ Œ๋”๋Ÿฌ ๊ตฌ์ถ•์ด๋‚˜ [4], ์ŠคํŽ™ํŠธ๋Ÿด ๋ Œ๋”๋ง(Spectral Rendering)์„ ์ง€์›ํ•˜๋Š” ํŒจ์ŠคํŠธ๋ ˆ์ด์„œ(Pathtracer) ๊ฐœ๋ฐœ ๋“ฑ ๊ณ ์„ฑ๋Šฅ ์‚ฌ์šฉ์ž ์ •์˜ ๋ Œ๋”๋Ÿฌ ์ œ์ž‘์— ํ™œ๋ฐœํžˆ ์“ฐ์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [6]. ๋˜ํ•œ OpenGL์—์„œ ํ™œ์šฉํ•˜๋Š” GPU ๊ธฐ๋ฐ˜ ์ธ์Šคํ„ด์‹ฑ ๋ฐ ์ปฌ๋ง ์ œ์–ด ๋กœ์ง์„ Vulkan์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Graphics & Performance ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[WebGPU|WebGPU]], Direct3D 12, [[Metal|Metal]], Conditional Rendering - **Projects/Contexts:** Vulkan Forward+ Renderer, Vulkan Pathtracer - **Contradictions/Notes:** ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. Vulkan ๊ธฐ์ˆ  ์ž์ฒด๋ฅผ ๊นŠ์ด ์žˆ๊ฒŒ ๋‹ค๋ฃจ๋Š” ๋ฌธํ—Œ์€ ์—†์œผ๋ฉฐ, ๋Œ€๋ถ€๋ถ„ WebGPU์˜ ์„ฑ๋Šฅ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๋น„๊ต ๋Œ€์ƒ์ด๋‚˜ ๊ทธ๋ž˜ํ”ฝ์Šค ๊ฐœ๋ฐœ์ž๋“ค์˜ ํ”„๋กœ์ ํŠธ ์ œ๋ชฉ ๋ฐ ์งˆ์˜์‘๋‹ต ์†์—์„œ ๋‹จํŽธ์ ์œผ๋กœ๋งŒ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/Vulkan.md ---