G. Voglsam:

"Real-time Ray Tracing on the GPU - Ray Tracing using CUDA and kD-Trees";

Supervisor: M. Wimmer, R.F. Tobler; Institut für Computergraphik und Algorithmen, 2013.

In computer graphics, ray tracing is a well-known image generation algorithm which exists since the late 1970s. Ray tracing is typically known as an offline algorithm, which means that the image generation process takes several seconds to minutes or even hours or days.

In this thesis I present a ray tracer which runs in real-time. Real-time in terms of computer graphics means that 60 or more images per second (frames per second, FPS) are created. To achieve such frame rates, the ray tracer runs completely on the graphics card (GPU). This is possible by making use of Nvidia´s CUDA -API. With CUDA, it is possible to program the processor of a graphics card similar to a processor of a CPU. This way, the computational power of a graphics card can be fully utilized. A crucial part of any ray tracer is the acceleration data structure (ADS) used. The ADS is needed to efficiently search in geometric space. In this thesis, two variants of so called kD-Trees have been implemented. A kD-Tree is a binary tree, which divides at each node a given geometric space into two halves using an axis aligned splitting plane. Furthermore, a CUDA library for the rendering engine Aardvark, which is the in-house rendering engine at the VRVis Research Center, was developed to access CUDA functionality from within Aardvark in an easy and convenient way.

The ray tracer is part of a current software project called "HILITE" at the VRVis Research Center.

http://publik.tuwien.ac.at/files/PubDat_221015.pdf

Created from the Publication Database of the Vienna University of Technology.