--- id: P-REINFORCE-AUTO-773FEF category: "10_Wiki/πŸ’‘ Topics/Graphics & Performance" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - PBR" --- # [[PBR|PBR]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > PBR(Physically-Based Rendering)은 ν˜„μ‹€ μ„Έκ³„μ˜ 물질 물리 법칙을 μ μš©ν•˜μ—¬ 사싀적인 μ‹œκ° 효과λ₯Ό λ‹¬μ„±ν•˜λŠ” λ Œλ”λ§ λ°©λ²•λ‘ μž…λ‹ˆλ‹€ [1]. μ•Œλ² λ„(albedo), λ…Έλ©€(normal), λ©”νƒˆλ¦­(metallic), λŸ¬ν”„λ‹ˆμŠ€(roughness), μ•°λΉ„μ–ΈνŠΈ μ˜€ν΄λ£¨μ „(ambient occlusion) λ“±μ˜ 닀쀑 ν…μŠ€μ²˜ 맡을 μ‘°ν•©ν•˜μ—¬ ν‘œλ©΄ 속성을 μ„Έλ°€ν•˜κ²Œ μ •μ˜ν•©λ‹ˆλ‹€ [2]. 사싀감을 ν‘œν˜„ν•˜λŠ” μ΅œμ‹  ν‘œμ€€ κΈ°μˆ μ΄μ§€λ§Œ, μ—λ„ˆμ§€ 보쑴 법칙과 ν”„λ ˆλ„¬(Fresnel) λ°˜μ‚¬ λ“±μ˜ λ³΅μž‘ν•œ 계산을 μˆ˜λ°˜ν•˜κΈ° λ•Œλ¬Έμ— κ·Έλž˜ν”½ μ—°μ‚° λΉ„μš©μ΄ 맀우 λ†’λ‹€λŠ” νŠΉμ§•μ΄ μžˆμŠ΅λ‹ˆλ‹€ [3]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **물리 기반 속성 μ •μ˜μ™€ μ›Œν¬ν”Œλ‘œμš°:** PBR은 주둜 λ©”νƒˆλ¦­-λŸ¬ν”„λ‹ˆμŠ€ μ›Œν¬ν”Œλ‘œμš°λ₯Ό 기반으둜 μ‹€μ œμ™€ 같은 μž¬μ§ˆμ„ ν‘œν˜„ν•©λ‹ˆλ‹€. ν‘œλ©΄μ˜ κΈˆμ†μ„±μ„ μ •μ˜ν•˜λŠ” λ©”νƒˆλ¦­ λ§΅κ³Ό ν‘œλ©΄ λ―Έμ„Έ ꡬ쑰의 κ±°μΉ κΈ°λ₯Ό μ •μ˜ν•˜λŠ” λŸ¬ν”„λ‹ˆμŠ€ 맡을 톡해 물리적 정확도λ₯Ό ν™•λ³΄ν•©λ‹ˆλ‹€ [1, 3]. * **높은 μ—°μ‚° λΉ„μš©κ³Ό μ„±λŠ₯ 병λͺ©:** ν’€(Full) PBR μž¬μ§ˆμ„ ν™˜κ²½ λ°˜μ‚¬μ™€ ν•¨κ»˜ λ Œλ”λ§ν•  경우, λˆˆμ— λ³΄μ΄λŠ” ν”½μ…€λ§ˆλ‹€ 15~20개의 ν…μŠ€μ²˜ μƒ˜ν”Œλ§κ³Ό μˆ˜μ‹­ 번의 μˆ˜ν•™μ  연산이 μš”κ΅¬λ©λ‹ˆλ‹€ [2]. Three.jsμ—μ„œ PBR을 κ΅¬ν˜„ν•œ `MeshStandardMaterial`은 κ°€μž₯ μ»΄ν“¨νŒ… λΉ„μš©μ΄ 높은 재질둜, λ‚΄μž₯된 κ·Έλž˜ν”½ ν•˜λ“œμ›¨μ–΄(예: Intel UHD) ν™˜κ²½μ—μ„œ 100만 개 μ΄μƒμ˜ μ‚Όκ°ν˜•μ„ μ²˜λ¦¬ν•  λ•Œ ν”„λž˜κ·Έλ¨ΌνŠΈ ν”„λ‘œμ„Έμ„œλ₯Ό ν¬ν™”μ‹œμΌœ ν”„λ ˆμž„ 속도λ₯Ό 30 FPS μ΄ν•˜λ‘œ λ–¨μ–΄λœ¨λ¦΄ 수 μžˆμŠ΅λ‹ˆλ‹€ [3, 4]. * **PBR μ΅œμ ν™” 기법 (ν…μŠ€μ²˜ 채널 νŒ¨ν‚Ή):** λ©”λͺ¨λ¦¬ λŒ€μ—­ν­μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ ν…μŠ€μ²˜ 채널 νŒ¨ν‚Ή(Texture Channel Packing) 기술이 μ‚¬μš©λ©λ‹ˆλ‹€ [1]. λ©”νƒˆλ¦­ 값을 블루(B) 채널에, λŸ¬ν”„λ‹ˆμŠ€ 값을 κ·Έλ¦°(G) 채널에 μ €μž₯ν•˜μ—¬ μ—¬λŸ¬ μž₯의 ν…μŠ€μ²˜λ₯Ό ν•˜λ‚˜λ‘œ λ³‘ν•©ν•©λ‹ˆλ‹€ [1]. μ΄λ ‡κ²Œ 5개의 κ°œλ³„ ν…μŠ€μ²˜λ₯Ό 3개(μ•Œλ² λ„-μ•ŒνŒŒ, λ…Έλ©€, λ©”νƒˆλ¦­-λŸ¬ν”„λ‹ˆμŠ€ κ²°ν•©)둜 쀄인 κ°„μ†Œν™”λœ PBR 셰이더λ₯Ό μ‚¬μš©ν•˜λ©΄ ν…μŠ€μ²˜ λŒ€μ—­ν­ μš”κ΅¬λŸ‰μ„ 50%κΉŒμ§€ κ°μ†Œμ‹œν‚€λ©΄μ„œλ„ PBR의 정확도λ₯Ό μ˜¨μ „νžˆ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1, 5]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Graphics & Performance λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[MeshStandardMaterial α„Œα…©α„†α…§α†Ό 연ᄉᅑᆫ|MeshStandardMaterial]], Texture Channel Packing, Metallic Maps, Roughness Maps - **Projects/Contexts:** Three.js μ›Ή λ Œλ”λ§ μ΅œμ ν™”, Image-To-3D λͺ¨λΈ λΈŒλΌμš°μ € 배포 - **Contradictions/Notes:** PBR 방식(예: MeshStandardMaterial)은 ꢁ극적인 μ‚¬μ‹€μ£Όμ˜λ₯Ό μ œκ³΅ν•˜μ§€λ§Œ μ—°μ‚° λΉ„μš©μ΄ λ†’μ•„ 고사양 μ›Œν¬μŠ€ν…Œμ΄μ…˜μ— μ ν•©ν•©λ‹ˆλ‹€. μ €μ‚¬μ–‘μ΄λ‚˜ λ‚΄μž₯ κ·Έλž˜ν”½(iGPU) ν™˜κ²½μ—μ„œ μ„±λŠ₯을 μš°μ„ μ‹œν•΄μ•Ό ν•  κ²½μš°μ—λŠ” μƒλŒ€μ μœΌλ‘œ μ—°μ‚°λŸ‰μ΄ 적은 비물리 기반의 Blinn-Phong λͺ¨λΈ(예: MeshPhongMaterial)을 μ‚¬μš©ν•˜λŠ” 것이 더 λ‚˜μ„ 수 μžˆμŠ΅λ‹ˆλ‹€ [3, 4]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/PBR.md ---