--- id: wiki-2026-0508-early-z title: Early Z category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-AUTO-D03C5F] duplicate_of: none source_trust_level: A confidence_score: 0.9 tags: [auto-reinforced] raw_sources: [] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Early-Z" inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[Early-Z]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > Early-Z(초기 깊이 ν…ŒμŠ€νŠΈ)λŠ” λ Œλ”λ§ νŒŒμ΄ν”„λΌμΈμ˜ ν”„λž˜κ·Έλ¨ΌνŠΈ 셰이딩([[Fragment Shading]]) λ‹¨κ³„μ—μ„œ μ˜€λ²„λ“œλ‘œμš°([[Overdraw]])λ₯Ό μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” GPU μ΅œμ ν™” κΈ°λ²•μž…λ‹ˆλ‹€ [1, 2]. 뢈투λͺ…ν•œ 물체λ₯Ό 카메라 κΈ°μ€€ 'μ•žμ—μ„œ λ’€λ‘œ(Front-to-Back)' μ •λ ¬ν•˜μ—¬ λ Œλ”λ§ν•¨μœΌλ‘œμ¨, λ‹€λ₯Έ 물체에 μ˜ν•΄ κ°€λ €μ Έ 화면에 보이지 μ•Šμ„ ν”½μ…€μ˜ 연산을 사전에 μ’…λ£Œμ‹œν‚΅λ‹ˆλ‹€ [2]. ν•˜μ§€λ§Œ 투λͺ…ν•œ μž¬μ§ˆμ„ λ Œλ”λ§ν•  λ•ŒλŠ” 이 μ΅œμ ν™” κΈ°λŠ₯이 λΉ„ν™œμ„±ν™”λ˜λŠ” νŠΉμ„±μ΄ μžˆμŠ΅λ‹ˆλ‹€ [1]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **Early-Z의 원리와 λͺ©μ :** λ Œλ”λ§ κ³Όμ •μ—μ„œ λ™μΌν•œ ν”½μ…€ μœ„μΉ˜μ— μ—¬λŸ¬ 번의 μ“°κΈ° μž‘μ—…μ΄ μ€‘μ²©λ˜μ–΄ λ°œμƒν•˜λŠ” ν˜„μƒμ„ μ˜€λ²„λ“œλ‘œμš°λΌκ³  λΆ€λ₯΄λ©°, μ΄λŠ” 보이지 μ•ŠλŠ” 계산에 GPU μžμ›μ„ λ‚­λΉ„ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€ [1, 2]. 뢈투λͺ…ν•œ 물체듀을 'μ•žμ—μ„œ λ’€λ‘œ(Front-to-Back)' μ •λ ¬ν•˜μ—¬ 그릴 경우, GPUλŠ” 이미 λ Œλ”λ§λœ μ•žμͺ½ ν‘œλ©΄μ— μ˜ν•΄ κ°€λ €μ§€λŠ” λ’€μͺ½ ν”½μ…€ 연산을 쑰기에 μ’…λ£Œ(Early-Z)μ‹œμΌœ λ Œλ”λ§ νš¨μœ¨μ„ 크게 λ†’μž…λ‹ˆλ‹€ [1, 2]. - **투λͺ… 재질 λ Œλ”λ§ μ‹œμ˜ λΉ„ν™œμ„±ν™”:** 겹쳐 μžˆλŠ” 투λͺ…ν•œ κΈ°ν•˜ν•™μ  ꡬ쑰(예: 옷, 머리카락 λ ˆμ΄μ–΄ λ“±)λ₯Ό λ Œλ”λ§ν•  λ•ŒλŠ” μ˜¬λ°”λ₯Έ μ•ŒνŒŒ λΈ”λ Œλ”© κ²°κ³Όλ₯Ό μ–»κΈ° μœ„ν•΄ 'λ’€μ—μ„œ μ•žμœΌλ‘œ(Back-to-Front)' λ Œλ”λ§μ„ κ°•μ œν•΄μ•Ό ν•©λ‹ˆλ‹€ [1, 3]. 이 κ³Όμ •μ—μ„œ μˆ¨κ²¨μ§„ 픽셀을 κ±΄λ„ˆλ›°κ²Œ ν•΄μ£ΌλŠ” 초기 깊이 ν…ŒμŠ€νŠΈ(Early-Z) μ΅œμ ν™”κ°€ λΉ„ν™œμ„±ν™”λ˜λ©°, 결과적으둜 ν•˜λ‚˜μ˜ 픽셀을 μ—¬λŸ¬ 번 λ Œλ”λ§ν•˜λŠ” μ‹¬κ°ν•œ μ˜€λ²„λ“œλ‘œμš°κ°€ λ°œμƒν•˜κ²Œ λ©λ‹ˆλ‹€ [1]. - **[[InstancedMesh]] ν™˜κ²½μ—μ„œμ˜ ν•œκ³„:** λ“œλ‘œμš° μ½œμ„ μ€„μ—¬μ£ΌλŠ” `InstancedMesh` κΈ°μˆ μ€ λ‚΄λΆ€ μΈμŠ€ν„΄μŠ€λ“€μ— λŒ€ν•œ μžλ™ μ •λ ¬ κΈ°λŠ₯을 μ œκ³΅ν•˜μ§€ μ•Šκ³  버퍼에 μ €μž₯된 μˆœμ„œλŒ€λ‘œλ§Œ λ Œλ”λ§ν•©λ‹ˆλ‹€ [2]. λ§Œμ•½ λ¨Ό 곳에 μžˆλŠ” μΈμŠ€ν„΄μŠ€κ°€ λ¨Όμ € κ·Έλ €μ§€κ³  κ°€κΉŒμš΄ μΈμŠ€ν„΄μŠ€κ°€ λ‚˜μ€‘μ— κ·Έλ €μ§„λ‹€λ©΄, Early-Zλ₯Ό ν†΅ν•œ μ‘°κΈ° μ’…λ£Œ 이점을 μ–»μ§€ λͺ»ν•©λ‹ˆλ‹€ [2]. μ΄λŠ” λ“œλ‘œμš° 콜 κ°μ†Œλ‘œ 얻은 이점보닀 λ§‰λŒ€ν•œ μ˜€λ²„λ“œλ‘œμš° λΉ„μš©μ„ μ΄ˆλž˜ν•˜μ—¬, GPUλ₯Ό ν”„λž˜κ·Έλ¨ΌνŠΈ λ°”μš΄λ“œ([[Fragment-bound]]) μƒνƒœμ— 빠뜨렀 전체 μ„±λŠ₯을 였히렀 μ €ν•˜μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€ [2]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[Overdraw]], [[InstancedMesh]], [[Alpha Blending]] - **Projects/Contexts:** Three.js [[WebGL]] λ Œλ”λ§ μ΅œμ ν™” - **Contradictions/Notes:** μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. --- *Last updated: 2026-04-19* --- ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*