Li-Yi Wei, Baoquan Liu, Xu Yang, Chongyang Ma, Ying-Qing Xu, and Baining Guo
Beam tracing combines the flexibility of ray tracing and the 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 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. Using these nonlinear beams, real-time GPU applications can render secondary rays via polygon streaming similar to how they render primary rays. A major strength of this methodology is that it naturally supports fully dynamic scenes without the need to pre-store a scene database. Utilizing our approach, nonlinear ray tracing effects can be rendered in real-time on a commodity GPU under a unified framework.
Baoquan Liu, Li-Yi Wei, Xu Yang, Ying-Qing Xu, and Baining Guo. Nonlinear Beam Tracing on a GPU, March 2007.