Abstract

Ray tracing is a technique capable of synthesizing highly realistic images. It accurately simulates the physical distribution of light in a scene and can be used for movie production, scientific visualization, in the automotive industry, or by artists or game developers. In this context, rays of light, as well as lines of sight, are represented by “rays” which are traced throughout the scene. Rays interact with objects in the scene (they penetrate them, are reflected, refracted, etc.) and ultimately define the pixel values of the generated image. Thus, one crucial functionality of a ray tracing application is calculating the intersection of rays with scene primitives. One of the most often used primitives is the triangle. It enables relatively simple intersection calculations, and complex objects can be tessellated into triangles. Thus, a ray tracers ray-triangle intersection routine is called a considerable number of times per scene. Ray tracing is generally seen as a rather slow method of image generation. Thus, several algorithms for fast ray-triangle intersection have emerged within the last years. In the scope of this thesis, a novel, fast ray-triangle intersection algorithm is implemented into the CPU-based ray tracing framework PBRT. The algorithm features early termination strategies and transforms the ray-plane intersection point into a 2D coordinate system. For this transformation, two different approaches are discussed. Different optimizations are explored to further improve the algorithms performance. The algorithm is evaluated against PBRTs default algorithm and against another state-of-the-art ray-triangle intersection algorithm in terms of efficiency. Realistic scenes with different ray-triangle hit-rates and different scene complexity are used for the tests. The results show that the new algorithm outperforms the default algorithm for every scene.

Reference

Pichler, T. A. (2018). Fast CPU ray-triangle intersection method [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2018.42481