고해상도의 지형 데이터는 용량이 크기 때문에 GPU메모리에 데이터 전체를 적재할 수 없다. 따라서 out-of-core기반의 방법이 많이 사용된다. 그러나 보조기억장치의 대역폭 한계로 인하여 실시간으로 지형을 렌더링하기 어렵기 때문에 GPU로 웨이블릿 변환을 수행하여 압축된 DEM 데이터를 전송한 후 압축 해제하여 렌더링 하는 방법이 사용된다. 하지만 이 방법은 텍스처로부터 주기적으로 값을 읽어와 정점을 변환하고 메쉬를 생성해야하므로 비효율적이다. 이 논문에서는 웨이블릿 압축된 근사 계수 값을 정점의 속성으로 저장하고 기하 쉐이더에서 압축을 해제해 지형을 효율적으로 렌더링 하는 기법을 제안한다. 제안하는 방법은 근사 계수 값을 정점의 속성으로 주어 지형 텍스처의 전송량을 줄일 수 있다. 또한 지형 텍스처로부터 별도의 업로드 과정 없이 메쉬의 생성이 가능하므로 오버헤드가 발생하지 않아 효율적인 렌더링이 가능하다.
대용량 지형 데이터는 전체를 CPU나 GPU메모리에 적재할 수 없기 때문에 하드디스크와 같은 보조기억장치에서 필요한 부분을 읽어와 렌더링하는 out-of-core기반의 방법이 사용된다. 하지만 out-of-core 기반의 방법은 하드디스크로부터 GPU메모리까지 데이터를 읽어올 때 대역폭한계로 인해 데이터의 전송시간이 길어진다. 이 논문에서는 Direct Compute를 이용하여 대용량 지형 데이터를 GPU에서 웨이블릿 기법으로 압축한 후 계수들을 이미지의 RGBA채널에 대응시켜 저장하고 렌더링 단계에서 이를 압축 해제하여 사용하는 방법을 제안한다. 이 방법은 GPU를 이용하여 압축된 지형 데이터를 빠르게 압축 해제해 사용함으로써 데이터의 전송량을 줄이고 웨이블릿 계산을 병렬적으로 수행하므로 전체 렌더링 시간을 단축할 수 있다.
최근의 3D게임이나 가상현실을 위한 지형 시각화 응용에서는 사실적인 장면을 렌더링 하기 위해 고화질 영상을 실시간에 제공하는 GPU기반의 광선투사법을 이용한다. 이 방법은 지형데이터의 크기가 증가할수록 샘플링 해야 하는 텍셀의 개수가 증가하기 때문에 렌더링 속도가 저하된다. 이러한 문제점을 해결하기 위해서 본 논문에서는 GPU에서 사진트리를 기반으로 수행되는 바운딩 박스 세분화를 이용하여 빈 공간이 제거된 바운딩 박스를 생성하고 이를 이용하여 광선투사법을 가속화하는 방법을 제안한다. 이 방법은 각 광선마다 빈 공간 도약을 위해 트리를 탐색하여 중복된 탐색연산을 수행해야 했던 기존의 방법과 달리 바운딩 박스를 이용하여 탐색 연산을 단 1번만 수행하도록 하여 수행속도를 가속화 하였다.
최근 지형렌더링에서 사용되는 DEM(digital elevation map) 데이터들은 일반 컴퓨터에서 처리 가능한 메모리 용량을 초과하기 때문에 밉맵(mipmap)을 이용한 상세단계(LOD : level-of-detail) 기법들을 사용하는 외부 메모리 처리(out-of-core) 기법들이 많이 연구되고 있다. 하지만 밉맵을 이용한 상세단계 기법들은 높은 레벨의 상세단계에서 데이터의 간략화에 따른 기하오차가 발생한다. 이러한 기하오차는 시점이 이동할 때 상세단계가 변화하는 부분에서 기하파핑(geometry popping) 현상을 유발한다. 본 논문에선 기하오차를 줄이기 위해 정점 응집맵을 제안한다. 전처리 단계에서 생성되는 정점 응집맵은 벡터를 저장한 텍스쳐이다. 이 벡터들은 상대적으로 기울기 변화량이 큰 위치로 주변의 정점들을 응집시켜 지형의 기하오차를 줄이기 때문에 단순히 밉맵을 이용하여 지형을 렌더링 했을 때 나타나는 기하파핑 현상을 효과적으로 줄일 수 있다.
사진트리 기반의 지형 시각화 기법은 많은 응용 프로그램에서 활용되어 왔다. 하지만 전체 과정이 CPU에서 수행되기 때문에 GPU를 사용하는 다른 방법들에 비해 렌더링 성능이 떨어진다. 본 논문에서는 사진트리 기반의 지형 시각화 기법을 GPU에서 수행할 수 있도록 오차텍스처와 LOD텍스처를 제안하고, 상세단계가 적용된 사진트리 블록을 동일한 해상도의 메쉬로 채워서 렌더링 속도를 향상시키는 방법을 제안한다. 전처리 단계에서는 보편 공간에서 사진트리의 연속된 두 단계사이에서 지형의 높이 값 차이를 계산하여 오차텍스처에 저장한다. 렌더링 단계에서는 저장된 오차 값을 이용하여 투영된 오차 값을 계산하고, 그 결과를 LOD텍스처에 저장한다. LOD텍스처에 저장된 값을 이용해서 블록단위로 시각 절두체 선별을 하고 상세단계를 선택한다. 이 방법은 부하가 큰 상세 단계 선택 작업을 GPU에서 수행하고 블록단위 연산을 함으로써 작업량을 줄일 수 있다. 상세 단계가 서로 다른 블록이 인접해 있을 경우 T-정점 때문에 크랙이 발생하는데 원본 고도 데이터의 밉맵을 활용해서 이것을 제거할 수 있다.
높이 맵으로부터 지형의 기하구조를 형성하고 그 세부 묘사를 위하여 왕 타일을 이용하여 반복적이지 않는 타일링을 할 수 있다. 타일 내에 색상 정보와 더불어 높이 정보를 추가하여 세부적인 요철의 정보를 담아 시차 맵핑을 통하여 효과적으로 표현 할 수 있다. 본 논문에서는 이를 실시간 렌더링 할 때 문제되는 부분을 해결하였으며, 지형을 위한 시차 맵핑의 보안을 제안한다.
이 논문에서는 다양한 종류의 응용프로그램에 바로 적용할 수 있는 GPU 레이캐스팅 기법에 기반 하는 효율적인 실시간 지형 렌더링 방법을 제안한다. 여기에서 제안되는 방법은 별도의 메시 구조 없이 이미지(높이맵) 만으로 지형을 표현하는 것이 가능하며, 공중과 지상에서의 활동이 자유로워 가상현실은 물론 게임에 바로 사용할 수 있다. 메시에 기반 하지 않으므로 별도의 LOD조절이 필요하지 않으며, 높이맵과 컬러맵의 해상도에 따라 기하표현의 정밀도와 화질이 결정된다 더욱이 GPU-only 기법은 CPU가 더 일반적인 작업 에 집중할 수 있도록 함으로써 시스템의 전반적인 성능을 향상시킨다. 지금까지 높이맵을 사용한 많은 지형렌더링 관련 연구는 대부분이 상당부분 CPU 의존하거나 그 응용범위를 비행 시뮬레이션 등에 제한하여 왔다. 우리는 기존의 변위매핑 기법을 개선하여 지형 렌더링에 적용함으로써 기존 폴리곤기반 기법에서 나타나던 크랙이나 팝핑 등의 문제점들을 근본적으로 배제하였다. 이 논문이 기여하는 바는 지표면 탐색(walk-through)시의 임의 시선에 대한 효율적 처리와 높이장(height field)의 곡면 재구성을 통한 화질의 획기적인 개선이다. 우리는 재구성된 곡면과 시선의 교차점을 계산하는 효율적인 방법을 제시한다. 우리가 제안하고 있는 알고리듬은100% GPU에서 구현되었으며, 256×226~4096×4096까지의 다양한 해상도에서 실험한 결과 초당 수십~수백 프레임을 얻었다.