GPU-based Adaptive LOD control for Quadtree-Based Terrain Rendering

사진트리 기반 지형렌더링을 위한 GPU기반의 적응형 상세단계 조정 방법

  • Choi, In-Ji (Dept. of Computer Science and Information Engineering, Inha University) ;
  • Shin, Byeong-Seok (Dept. of Computer Science and Information Engineering, Inha University)
  • 최인지 (인하대학교 컴퓨터.정보 공학과) ;
  • 신병석 (인하대학교 컴퓨터.정보 공학과)
  • Published : 2008.08.20

Abstract

Quadtree-based terrain visualization methods have been used in a lot of applications. However, because most procedures are performed on the CPU, the rendering speed is slow in comparison to methods using GPU. In this paper, we present a quadtree-based terrain visualization method working on the GPU with specially designed data structure, error-texture and LOD-texture, and block-based acceleration method. In preprocessing step, we calculate errors in world space and store them to error-texture. In rendering step, we examine projected errors of error-texture and choose the detail level, then store the projected errors to LOD-texture. View frustum culling is performed as block unit using the values of error-texture and LOD-texture. This method reduces CPU load and performs time consuming jobs such as LOD selection and view frustum culling.

사진트리 기반의 지형 시각화 기법은 많은 응용 프로그램에서 활용되어 왔다. 하지만 전체 과정이 CPU에서 수행되기 때문에 GPU를 사용하는 다른 방법들에 비해 렌더링 성능이 떨어진다. 본 논문에서는 사진트리 기반의 지형 시각화 기법을 GPU에서 수행할 수 있도록 오차텍스처와 LOD텍스처를 제안하고, 상세단계가 적용된 사진트리 블록을 동일한 해상도의 메쉬로 채워서 렌더링 속도를 향상시키는 방법을 제안한다. 전처리 단계에서는 보편 공간에서 사진트리의 연속된 두 단계사이에서 지형의 높이 값 차이를 계산하여 오차텍스처에 저장한다. 렌더링 단계에서는 저장된 오차 값을 이용하여 투영된 오차 값을 계산하고, 그 결과를 LOD텍스처에 저장한다. LOD텍스처에 저장된 값을 이용해서 블록단위로 시각 절두체 선별을 하고 상세단계를 선택한다. 이 방법은 부하가 큰 상세 단계 선택 작업을 GPU에서 수행하고 블록단위 연산을 함으로써 작업량을 줄일 수 있다. 상세 단계가 서로 다른 블록이 인접해 있을 경우 T-정점 때문에 크랙이 발생하는데 원본 고도 데이터의 밉맵을 활용해서 이것을 제거할 수 있다.

Keywords