Real-time ray tracing of implicit surfaces on the GPU.
Compact representation of geometry using a suitable procedural or mathematical model and a ray-tracing mode of rendering fit the programmable graphics processor units (GPUs) well. Several such representations including parametric and subdivision surfaces have been explored in recent research. The important and widely applicable category of the general implicit surface has received less attention. In this paper, we present a ray-tracing procedure to render general implicit surfaces efficiently on the GPU. Though only the fourth or lower order surfaces can be rendered using analytical roots, our adaptive marching points algorithm can ray trace arbitrary implicit surfaces without multiple roots, by sampling the ray at selected points till a root is found. Adapting the sampling step size based on a proximity measure and a horizon measure delivers high speed. The sign test can handle any surface without multiple roots. The Taylor test that uses ideas from interval analysis can ray trace many surfaces with complex roots. Overall, a simple algorithm that fits the SIMD architecture of the GPU results in high performance. We demonstrate the ray tracing of algebraic surfaces up to order 50 and nonalgebraic surfaces including a Blinn's blobby with 75 spheres at better than interactive frame rates.
Singh
Jag Mohan
JM
International Institute of Information Technology (IIIT), Hyderabad, India. jagmohan@research.iit.ac.in
Narayanan
P J
PJ
D000465:Algorithms; D003196:Computer Graphics; D003198:Computer Simulation; D003199:Computer Systems; D007090:Image Interpretation, Computer-Assisted / Q000295:instrumentation* / Q000379:methods*; D008027:Light; D008962:Models, Theoretical; D012542:Scattering, Radiation; D012815:Signal Processing, Computer-Assisted / Q000295:instrumentation*