Skip to content

Level of detail

컴퓨터 그래픽스에서 레벨 오브 디테일(Level of detail, LOD)은 3D 모델 표현의 복잡성을 나타낸다. LOD는 모델이 뷰어에서 멀어지거나 객체의 중요성, 뷰포인트 대비 속도 또는 위치와 같은 다른 기준에 따라 낮출 수 있다. LOD 기법은 그래픽스 파이프라인 단계, 일반적으로 정점 변환의 작업량을 줄임으로써 렌더링 효율을 높인다. 모델의 시각적 품질 저하는 멀리 있거나 빠르게 움직일 때 객체의 외관에 미치는 영향이 작기 때문에 종종 알아채기 어렵다.

대부분의 경우 LOD는 기하학적 세부 정보에만 적용되지만, 기본 개념은 일반화될 수 있다. 최근에는 LOD 기법에 픽셀 복잡도를 제어하기 위한 셰이더 관리도 포함되었다. 레벨 오브 디테일 관리의 한 형태는 수년간 텍스처 맵에 밉맵핑이라는 이름으로 적용되어 왔으며, 이는 더 높은 렌더링 품질을 제공한다.

3D 모델러가 수동으로 LOD 모델을 만들거나 기본 LOD 알고리즘에 의해 객체가 단순화될 때 "객체가 LOD 처리되었다"고 말하는 것이 일반적이다.

핵심 개념: 뷰 디펜던트 LOD

카메라에서 멀거나 화면상 작게 보이는 영역은 점(또는 폴리곤)을 줄이고, 가까운 영역은 원본 밀도를 유지하는 방식입니다. 밉맵이 텍셀 단위로 하는 일을 공간 단위로 확장한 것이죠.

Octree 기반 LOD (가장 밉맵과 유사)

공간을 재귀적으로 8등분하여 트리 구조를 만들고, 각 노드에 대표점(centroid 또는 평균색)을 저장합니다. 카메라 거리에 따라 트리를 얼마나 깊이 탐색할지 결정하면, 자연스럽게 밉맵처럼 단계별 해상도가 만들어집니다. Potree와 3D Tiles(Cesium) 가 이 방식의 대표적 구현체입니다.

Voxel Downsampling

공간을 일정 크기의 복셀 격자로 나눈 뒤, 각 복셀 안의 점들을 하나의 대표점으로 치환합니다. 복셀 크기가 곧 해상도를 결정하므로, 크기별로 여러 레벨을 미리 만들어두면 밉맵 체인과 동일한 구조가 됩니다. Open3D에서 voxel_down_sample()로 바로 사용할 수 있습니다.

메시 기반: Nanite (Unreal Engine 5)

폴리곤 메시에 대해 클러스터 단위로 LOD를 관리하며, 화면의 픽셀 크기를 기준으로 런타임에 적절한 디테일 수준을 선택합니다. "가상 지오메트리"라 불리며, 밉맵의 3D 메시 버전에 가장 가깝습니다.

Poisson Disk Sampling / Farthest Point Sampling

점들 사이의 최소 간격을 보장하면서 균일하게 솎아내는 방식입니다. 시각적으로 고른 분포를 유지하면서 점 수를 줄이는 데 효과적입니다.

Gaussian Splatting LOD

최근 주목받는 3D Gaussian Splatting에서도 유사한 문제가 있어, 가우시안 프리미티브를 병합하거나 먼 영역의 스플랫 수를 줄이는 연구가 활발합니다.

See also

  • 3D Rendering
  • Point Cloud
  • 3D Modeling
  • 비등방성 필터링
  • 거리 안개
  • 드로우 디스턴스
  • 밉맵
  • 팝핑 (컴퓨터 그래픽스)
  • 프로그레시브 메시
  • 희소 복셀 옥트리
  • 공간 해상도

Favorite site