--- id: P-REINFORCE-AUTO-56F596 category: "[[10_Wiki/๐Ÿ’ก Topics/Graphics & Performance]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - MeshStandardMaterial ์กฐ๋ช… ์—ฐ์‚ฐ" --- # [[MeshStandardMaterial ์กฐ๋ช… ์—ฐ์‚ฐ]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > MeshStandardMaterial์€ ๊ธˆ์†์„ฑ-๊ฑฐ์น ๊ธฐ(metallic-roughness) ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง(PBR) ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Three.js์˜ ์žฌ์งˆ์ž…๋‹ˆ๋‹ค [1]. ์ด ์žฌ์งˆ์€ ์—๋„ˆ์ง€ ๋ณด์กด ๋ฒ•์น™๊ณผ ํ”„๋ ˆ๋„ฌ ๋ฐ˜์‚ฌ(Fresnel reflections)์™€ ๊ฐ™์€ ๋ณต์žกํ•œ ์กฐ๋ช… ์—ฐ์‚ฐ์„ ํ•„์š”๋กœ ํ•˜๋ฏ€๋กœ, ์„ธ๋ฐ€ํ•œ ์‚ฌ์‹ค์„ฑ์„ ์ œ๊ณตํ•˜์ง€๋งŒ Three.js ๋‚ด์—์„œ ๊ฐ€์žฅ ์—ฐ์‚ฐ ๋น„์šฉ์ด ๋†’์€ ์žฌ์งˆ ์ค‘ ํ•˜๋‚˜๋กœ ๊ผฝํž™๋‹ˆ๋‹ค [1]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์กฐ๋ช… ์—ฐ์‚ฐ์˜ ๊ตฌ์กฐ ๋ฐ ๋ณต์žก์„ฑ:** MeshStandardMaterial์˜ ์กฐ๋ช… ์—ฐ์‚ฐ์€ ์•Œ๋ฒ ๋„(albedo), ๋…ธ๋ฉ€(normal), ๊ธˆ์†์„ฑ(metallic), ๊ฑฐ์น ๊ธฐ(roughness), ์•ฐ๋น„์–ธํŠธ ์˜คํด๋ฃจ์ „(AO) ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ํ…์Šค์ฒ˜ ๋งต๊ณผ ํ™˜๊ฒฝ ๋ฐ˜์‚ฌ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค [1, 2]. ์ด ๊ณผ์ •์—์„œ ํ™”๋ฉด์— ๋ณด์ด๋Š” ํ”ฝ์…€(ํ”„๋ž˜๊ทธ๋จผํŠธ) ํ•˜๋‚˜๋‹น 15~20๊ฐœ์˜ ํ…์Šค์ฒ˜ ์ƒ˜ํ”Œ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋ฉฐ, ์ˆ˜์‹ญ ๋ฒˆ์˜ ๋ณต์žกํ•œ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์ด ์š”๊ตฌ๋ฉ๋‹ˆ๋‹ค [2]. * **์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ ๋ฐ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ(Fragment-bound):** ์—ฐ์‚ฐ์ด ๋งค์šฐ ๋ฌด๊ฒ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜๋งŽ์€ ๊ฐ์ฒด๊ฐ€ ํ™”๋ฉด์— ๊ฒน์ณ์„œ ๋ Œ๋”๋ง๋˜๋Š” ์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw) ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ, ์ค‘๋ณต๋œ ์กฐ๋ช… ์—ฐ์‚ฐ์œผ๋กœ ์ธํ•ด ์”ฌ์ด ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ ์ƒํƒœ์— ๋น ์ง€๋ฉฐ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค [3]. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‚ด์žฅ ๊ทธ๋ž˜ํ”ฝ(iGPU) ํ™˜๊ฒฝ์—์„œ ์ด ์žฌ์งˆ์„ ์‚ฌ์šฉํ•ด 100๋งŒ ๊ฐœ ์ด์ƒ์˜ ์‚ผ๊ฐํ˜•์„ ๋ Œ๋”๋งํ•  ๊ฒฝ์šฐ, ํ”„๋ž˜๊ทธ๋จผํŠธ ํ”„๋กœ์„ธ์„œ๊ฐ€ ํฌํ™”๋˜์–ด ํ”„๋ ˆ์ž„ ๋ ˆ์ดํŠธ๊ฐ€ 30 ์ดํ•˜๋กœ ๊ธ‰๋ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1]. * **์กฐ๋ช… ์—ฐ์‚ฐ ์ตœ์ ํ™” ๊ธฐ๋ฒ•:** MeshStandardMaterial์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ˆ˜๋ฐฑ ๊ฐœ ์ด์ƒ์˜ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•ด, ๊ฐ ๊ฐ์ฒด์˜ ์žฌ์งˆ ์†์„ฑ(์ƒ‰์ƒ, ๋ฐฉ์ถœ, ๊ฑฐ์น ๊ธฐ, ๊ธˆ์†์„ฑ ๋“ฑ)์„ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํ…์Šค์ฒ˜์— ํŒจํ‚น(packing)ํ•˜๋Š” ๊ธฐ๋ฒ•์ด ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4]. ์ดํ›„ `onBeforeCompile`์„ ํ†ตํ•ด ์…ฐ์ด๋”๊ฐ€ ๊ธฐ์กด ์œ ๋‹ˆํผ(Uniform) ๋Œ€์‹  ํ•ด๋‹น ํ…์Šค์ฒ˜์˜ ๊ฐ’์„ ์ฝ๋„๋ก ์ˆ˜์ •ํ•˜๋ฉด, ๋™์ผํ•œ ์…ฐ์ด๋”๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ ๋‹จ ํ•œ ๋ฒˆ์˜ ๋“œ๋กœ์šฐ ์ฝœ๋กœ ๋‹ค์–‘ํ•œ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ์†์„ฑ์„ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Graphics & Performance ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[Physically Based Rendering (PBR)]], [[์˜ค๋ฒ„๋“œ๋กœ์šฐ (Overdraw)]], [[ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ (Fragment-bound)]] - **Projects/Contexts:** [[Three.js ๋Œ€๊ทœ๋ชจ ์”ฌ ์ตœ์ ํ™”]] - **Contradictions/Notes:** ๊ทน๋„์˜ ์‚ฌ์‹ค์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ํ˜„๋Œ€์ ์ธ ํ‘œ์ค€ ์žฌ์งˆ์ด์ง€๋งŒ, ์—ฐ์‚ฐ๋Ÿ‰์ด ๋งŽ์•„ ์ €์‚ฌ์–‘ ํ•˜๋“œ์›จ์–ด์—์„œ๋Š” ๋น„๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜์˜ MeshPhongMaterial ๋“ฑ ๋ณด๋‹ค ๊ฐ€๋ฒผ์šด ์กฐ๋ช… ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ถ”์ฒœ๋  ๋งŒํผ ๋ Œ๋”๋ง ๋น„์šฉ ๋ฉด์—์„œ ๋šœ๋ ทํ•œ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [1, 5]. --- *Last updated: 2026-04-19* - Raw Source: [[00_Raw/2026-04-20/MeshStandardMaterial ์กฐ๋ช… ์—ฐ์‚ฐ.md]] ---