검색 상세

임베디드 CPU에서 실시간 광선 추적법을 위한 공간 가속 자료구조 분석

Analysis of Acceleration Structures for Real-Time Ray Tracing in Embedded CPU

초록/요약

광선 추적법은 사실적인 장면을 렌더링하기 위해 3D 렌더링 분야에서 널리 쓰이는 방법이다. 상대적으로 계산이 복잡하고 느려 비실시간 렌더링 기법으로 여겨 왔지만, 최근 하드웨어의 발달과 교차 계산 가속을 위한 공간 자료구조 연구 등을 통하여 실시간 광선 추적법이 가능하게 되었다. 그러나 동적인 장면에 대한 실시간 광선 추적법을 구현함에 있어서 기존의 정적인 장면의 광선 추적법을 사용하였을 때 드러나지 않았던 문제점들이 나타나게 되었다. 정적인 장면에서 가장 빠른 교차 계산 가속화 자료구조로 알려진 kd-tree는 장면에 대한 어느 정도의 구축 시간을 필요로 하기 때문에 정적인 장면과는 달리 동적인 장면의 경우 매 장면마다 kd-tree의 재구축 소요 시간이 추가되게 되고, 이는 실시간 렌더링의 구현에 있어서 상당한 부담으로 작용하게 된다. 이러한 문제를 해결하기 위해 지난 수년간 kd-tree에 비해 교차 계산 가속 성능은 조금 떨어지지만 동적인 장면에 대해 더욱 빠르게 구성 가능한 BVH(Bounding Volume Hierarchy)와 그리드(grid) 같은 방법이 연구되어 왔다. 본 논문에서는 공간 가속 자료구조들을 분석하고 정적인 장면에서 움직이는 물체가 많지 않을 때 더 빠르게 이미지를 생성 할 수 있는 복합적 자료구조를 제안한다. 이 기법은 정적인 장면에 최적화 된 자료구조인 kd-tree와 동적인 물체에 대해서 빠르게 구성할 수 있는 BVH 자료구조를 혼합하여 동적인 물체가 존재하는 장면에 대하여 BVH만을 사용하였을 때 보다 더 빠르게 자료구조를 구성하고 이미지를 생성할 수 있다. 각각의 자료 구조를 일반적인 CPU 환경 및 임베디드 CPU 환경에서 구현한 후 일반적인 CPU와 달리 성능이 좋지 않은 임베디드 CPU 환경에서 달라져야 하는 구성은 무엇인지를 분석하고 효과적인 구성 방법을 제안한다. 광선 추적법 구현에 필요한 요구 사항 분석을 위해 임베디드 CPU 환경에서 성능 측정을 하고, 이를 통해 병목 현상이 나타나는 부분을 분석, 하드웨어 가속이 필요한지를 제안한다.

more

초록/요약

Ray tracing is used for photo-realistic image rendering in 3D rendering field. It has long been a method of choice for off-line rendering, but traditionally was too slow for interactive use. But recently, ray tracing can be done in real-time with assistance of high computational capabilities of modern graphics processing unit and researches of spatial acceleration structures. However, real-time capability also opens up new problems that do not exist in an off-line environment. Spatial data structures crucial for fast ray tracing must be rebuild or updated as the scene changes, and this can become a bottleneck for the speed of ray tracing. This bottleneck has received much recent attention by researchers that has resulted in a multitude of different algorithms, data structures, and strategies for handling animated scenes, such a BVH(Bounding Volume Hierarchy) and grid. In this paper, we propose a hybrid spatial acceleration structure optimize for dynamic scenes which have a lot of static objects, and relatively few dynamic objects. Through using both kd-tree and BVH, it can render scenes faster than using only BVH. We analysis effective technique, after comparing each spatial acceleration structures in embedded CPU environments with in general CPU environments, and find bottleneck process, suggests whether you need hardware acceleration.

more