This paper presents a parallel kd-tree traversal algorithm based on the parallel binary radix tree construction scheme proposed by Tero Karras in 2012. In his paper, Tero Karras proposed parallel tree construction algorithm which can maximize the utilization of GPU threads, but implementation and analysis of kd-tree are not fully discussed. This paper aims to fill the gap for the specific kd-tree cases. As an application for the kd-tree traversal method proposed in this paper, the proposed method has been implemented with NVIDIA’s CUDA framework and tested on NVIDIA’s realtime raytracing library, OptiX. As a result, the proposed method can construct tree structures within the requirement for realtime process, but still needs specialized spatial caching data structure like the “primitive tree” for highly detailed meshes to handle spatial queries as fast as to visualize implicit surfaces under OptiX framework. However, the proposed method can be applied to dynamic collision detection and manage scene and object information for game applications thanks to its fast tree construction process. Also, realtime raytracing can be applied to game applications based on this study.
본 논문에서는 광선 추적기법에서 그림자 검사의 연산량을 줄이는 기법을 제안한다. 그림자 검사는 부드러운 그림자와 같이 실감 있는 영상을 생성하는 경우 광선 추적기법 렌더링 과정 중 매우 큰 비중을 차지한다. 제안하는 방식은 전처리 단계에서 kd-tree를 생성하며 계산한 그림자 정보를 기반으로 렌더링 단계에서 그림자 검사의 컬링 여부를 판별하는 방식으로 기존 렌더링 과정에 작은 변경으로 적용가능하다. 기존의 방식들과 유사하게 광원과 기하학적 구조가 변하지 않는 정적 장면에 적합하다. 사이클 정확도를 갖는 시뮬레이터를 이용하여 제안하는 방법의 유효성을 검증하고 성능을 측정하였으며 실험 결과 제안하는 그림자 컬링 기법으로 최대 17%까지 줄일 수 있다.
본 논문은 광선 추적법 텍스쳐 매핑에서 MIP-Map 알고리즘 사용 시 텍스쳐 이미지들의 MIP-Map 수준을 선택하는 효과적인 방식을 제안한다. 이는 렌더링 시 물체와 교차하는 광선의 길이만을 사용하여 해당 물체의 텍스쳐 MIP-Map 수준을 선택하는 방법이다. 본 방식은 MIP-Map을 지원하지 않는 방식에 비하여 텍스쳐 알리아싱 면에서 우수하고 성능 저하는 미비하다.
본 논문은 대화형 광선 추적법에서 사용 가능한 새로운 그림자 컬링 알고리즘을 제안한다. 본 접근 방법은 그림자 자료 구조의 구축에 의한 전처리 방법 대신 프레임 간의 일관성을 이용하므로 동적 장면 상에서의 광선 추적법 처리에 적합하다. 본 알고리즘에서 그림자 계산 결과는 각각의 프리미티브 상에 저장이 되며 이 결과는 다음 프레임에 다시 사용된다. 또한 본 논문은 새로운 차폐 검사 방법을 제안한다. 이는 본 컬링 알고리즘에서 생길 수 있는 그림자 오류를 보정하며, 낮은 추가 비용을 요구한다. 실험 결과, 본 그림자 컬링 알고리즘은 7-19%의 탐색 비용 감소와 9-24%의 교차 비용 감소를 가져오는 것으로 나타났다.
광선추적법(ray tracing)은 빛의 반사, 투과 등을 사실적으로 표현할 수 있는 대표적인 전역조명(global illumination) 기술이지만, 복잡한 계산과정으로 인해 실시간 활용에는 많은 제약이 존재한다. 이런 문제를 해결하기 위해 최근에는 GPU(Graphics Processing Unit) 기반의 광선추적법 알고리즘이 활발하게 개발되고 있으며, 본 논문에서는 J. Purcell 등이 제안한 광선추적법 기법을 구현하였다. 그리고 구현된 알고리즘을 인터렉티브 응용분야에 활용하기 위해 렌더링 성능을 개선하는 두가지 방법을 적용하였다. 먼저, 그래픽스 하드웨어에서 지원하는 래스터라이제이션(rasterization)을 적용해 초기 광선의 교차점을 효과적으로 구했다. 또한 대상 물체를 가속화(acceleration) 구조로 구성하여 광선과 물체간의 교차연산에 소요되는 계산시간을 단축하였다. GPU 기반의 광선추적법 렌더링에서 다양한 성능 개선 알고리즘을 적용하여 향상된 렌더링 결과를 구체적으로 분석한 기존 연구가 비교적 적었으며, 본 논문에서는 각 과정에 따른 개선 결과를 제시하였다. 구현된 렌더러와 GPU 기반의 환경 맵을 비교하였으며 이동형 개인 컴퓨터와 무선 센싱 장비를 이용한 무선 원격 렌더링 시스템을 구현하였다. 제안된 시스템은 실시간 합성, 증강현실(augmented reality), 가상현실 등의 다양한 분야에서 활용될 것으로 기대된다.