---
id: P-REINFORCE-AUTO-E2D208
category: "10_Wiki/💡 Topics/Graphics & Performance"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - Revit glTF Export"
---

# [[Revit glTF Export|Revit glTF Export]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> Revit glTF Export는 Revit에서 작성된 건축 및 건물 모델을 웹 3D 환경에서 효율적으로 렌더링하기 위해 glTF 형식으로 내보내는 과정입니다 [1, 2]. 이 과정에서는 성능 최적화를 위해 동일한 재질을 가진 메쉬를 병합하는 동시에, 병합된 모델 내에서도 개별 객체를 식별하고 제어하기 위해 특수한 glTF 확장 기능과 정점 데이터 속성을 함께 활용합니다 [3, 4].

## 📖 구조화된 지식 (Synthesized Content)
- **재질 기반의 메쉬 병합:** Revit 모델(예: 콘크리트 벽체 등)을 glTF로 내보낼 때, 드로우 콜을 줄이고 렌더링을 최적화하기 위해 동일한 재질을 공유하는 메쉬들을 그룹화합니다 [1, 3]. 건물의 벽체들은 재질은 같지만 기하학적 형태가 대부분 고유하기 때문에 일반적인 `InstancedMesh`로는 처리할 수 없어 데이터를 병합(Merge)하거나 `BatchedMesh`를 통해 관리하게 됩니다 [4].
- **glTF 확장 기능(Extensions)의 적용:** 기하학적 데이터를 하나로 병합한 후에도, 사용자가 특정 벽체를 개별적으로 선택(Pick)하거나 가시성(Visibility) 및 색상을 동적으로 변경할 수 있어야 합니다 [4]. 이를 구현하기 위해 모델을 내보낼 때 `EXT_instance_features`, `EXT_mesh_features`, `EXT_mesh_gpu_instancing`과 같은 glTF 확장 기능을 추가하여 데이터를 구성합니다 [3].
- **정점 식별 속성(Feature ID) 할당:** 병합된 모델 내에서 서로 다른 배치를 구분하기 위해 각 정점(Vertex)에 `_FEATURE_ID_0`과 같은 특수 속성을 할당합니다. 렌더러(Three.js 등)는 모델을 로드할 때 이 속성을 파싱하여, 단일 객체로 병합된 상태에서도 내부의 서로 다른 기하학적 파트를 식별하고 개별적인 제어를 수행할 수 있습니다 [3, 5].

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.

## 🔗 지식 연결 (Graph)
- **Related Topics:** [[BatchedMesh|BatchedMesh]], glTF Extensions, [[Three.js|Three.js]]
- **Projects/Contexts:** 건축 및 BIM(Building Information Modeling) 3D 뷰어 구현
- **Contradictions/Notes:** Revit에서 내보낸 1,200만 개 이상의 삼각형과 1,600만 개 이상의 정점을 포함하는 거대한 glTF 모델을 다룰 때, 개별 객체 제어를 위해 `BatchedMesh`를 사용하면 단순히 병합된 일반 `Mesh`로 렌더링할 때보다 오히려 CPU 사용량이 40~60%까지 급증하고 프레임 속도(FPS)가 급격히 떨어지는 성능 저하 현상이 보고되고 있습니다 [1, 2, 6, 7].

---
*Last updated: 2026-04-19*
- Raw Source: 00_Raw/2026-04-20/Revit glTF Export.md
---
