LOD 란 Level of Detail로 말 그대로 단계에 따라 디테일을 달리 한다는 말이다.
지형이나 오브젝트를 렌더링 할 때 폴리곤의 수를 조정하여 화질의 저하 없이 높은 퀄리티를 내기 위해 사용된다.
<모델>
위 그림은 거리에 따라 디테일을 다르게 준 모델이다.
<지형>
카메라와의 거리에 따라 디테일을 다르게 해준 지형이다.
LOD는 데이터 저장 방식에 따라 정적 LOD와 동적 LOD로 구분된다.
정적 LOD 란, LOD 단계에 맞는 서브 정점 정보를 미리 계산해 둬 렌더링시 각 지형의 레벨에 따라 처리하는 것이다.
프로세스 부하는 적으나 전처리가 까다롭고, 미리 정보를 만들어야 하기 때문에 큰 Data Pool 이 필요하다.
동적 LOD 란, 각 지형의 LOD 단계를 동적으로 계산해 렌더링 하는 것이다.
LOD 단계가 변할 때 갑자기 튀어보이는 현상인 팝핑 현상에 적절하게 대응할 수 있고, 디테일한 컨트롤이 가능하다.
하지만 부하가 크다는 단점이 있다. 또한 갱신시마다 Lock, Unlock을 해줘야 한다.
CLOD (Continuous Level Of Detail) - 연속적인 상세 단계 기법
SLOD (Static Level Of Detail)
LOD 계산 방법에는 거리 기반과 면적 기반이 있다.
거리 기반 LOD 는 시점 위치와 오브젝트의 거리를 이용해 단계 값을 구하는 방법이다. 구현이 간단하고 부하가 적으나
필요 없는 부분이 세밀하게 보이거나 세밀하게 보여야 하는 부분이 단순하게 보일 수 있다.
면적 기반 LOD 는 오브젝트의 투영 면적에 따른 단계 값을 구하는 것으로 부하는 크지만 효율은 없다.
지형에 LOD 를 적용하기 위해 동적 LOD 와 거리 기반 LOD를 사용했다.
[참고] http://spaurh.egloos.com/4260026
http://www.misofruit.co.kr/seojewoo/programming/project2314.htm
'예전 > 3D' 카테고리의 다른 글
노멀매핑하려다가 ... (0) | 2013.01.14 |
---|---|
[3D] LOD Crack (0) | 2013.01.10 |
[3D] 절두체(Frustum) (3) | 2013.01.10 |
[3D] 지형 올리고 내리기 (0) | 2013.01.08 |
DrawPrimitive , DrawPrimitiveUP (0) | 2013.01.08 |