Programming/DirectX
터레인 최적화(Quad Tree - LevelOfDetail)
휘탱
2017. 1. 6. 11:47
쿼드트리(QuadTree) ?
쿼드트리(QuadTree)는 사각
형 영역을 작은 사각형으로 분할하는 개념에서 파생됩니다.
사각형과 상세 검색과의 연결은 2D 검색이나 최적화 알고리즘에서 유용 할 수있는 곳을 결정합니다.
트리의 루트에서
네 개의 작은 사각형으로 사각형을 나눕니다.
새 작은 사각형 각각은 루트의 하위 노드입니다.
작은 정사각형에 4개의 하위 정사각형을 생성하고,
그 결과 각각에 대해 나무의 다음 단계에 4명의 자식을 생성하는 과정을 반복하는 것입니다.
QuadTree 적용
초기화 시점에 터레인의 모서리 정점 4개 인덱스를 설정,
센터를 저장한 후 재귀함수를 통해 자식들을 만들어 가다,
탈출 조건(TR – TL == 1)을 만족하면 멈춘다.
마지막으로 이웃 노드들을 연결.
LevelOfDetail 적용
터레인을 렌더링하기 전에 한 번 호출해 인덱스 버퍼를 재배열하며 카메라와 거리에 따라 먼 지형의 정점에 LOD를 적용했는데,
LOD를 그냥 적용하면 문제점이 있다.
옆 노드에 정점의 높이가 맡지 않아 깨짐 현상이 있다.
깨짐 현상을 방지하기 위해 세부 정점을 만들어 해결해야 한다.
반응형