Date of Award
MS in Electrical Engineering
Ray tracing is a graphical technique that provides realistic simulation of light sources and complex lighting effects within three-dimensional scenes, but it is a time-consuming process that requires a tremendous amount of compute power. In order to reduce the number of calculations required to render an image, many different algorithms and techniques have been developed. One such development is the use of tree-like data structures to partition space for quick traversal when finding intersection points between rays and primitives. Even with this technique, ray-primitive intersection for large datasets is still the bottleneck for ray tracing.
This thesis proposes the use of a specific spatial data structure, the K-D tree, for faster ray casting of primary rays and enables a ray-triangle culling technique that compliments view frustum and backface culling. The proposed method traverses the entire tree structure to mark nodes to be inactive if it is outside of the view frustum and skipped if the triangle is a backface. In addition, a ray frustum is calculated to test the spatial coherency of the primary ray. The combination of these optimizations reduces the average number of intersection tests per ray from 98% to 99%, depending on the data size.