Nonlinear Beam Tracing on a GPU
Beam tracing [Heckbert and Hanrahan 1984] combines the flexibility of ray tracing and the coherence and speed of polygon rasterization. However, beam tracing so far only handles linear transformations; thus, it is only applicable to linear effects such as planar mirror reflections but not to nonlinear effects such as curved mirror reflection, refraction, caustics, and shadows. In this paper, we introduce nonlinear beam tracing to render these nonlinear global illumination effects. Nonlinear beam tracing is highly challenging because commodity graphics hardware supports only linear vertex transformation and triangle rasterization. We overcome this difficulty by designing a nonlinear graphics pipeline and implementing it on top of a commodity GPU. This allows beams to be nonlinear where rays within the same beam do not have to be parallel or intersect at a single point. A major strength of our algorithm is that it naturally supports fully dynamic scenes as it does not rely on acceleration data structures required for ray tracing. Utilizing our approach, nonlinear global illumination effects can be rendered in real-time on a commodity GPU under a unified framework.