The Community for Technology Leaders
RSS Icon
Issue No.02 - March/April (2010 vol.16)
pp: 261-272
Jag Mohan Singh , International Institute of Information Technology (IIIT), Hyderabad
P.J. Narayanan , International Institute of Information Technology (IIIT), Hyderabad
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.
Ray tracing, implicit surfaces, GPU rendering.
Jag Mohan Singh, P.J. Narayanan, "Real-Time Ray Tracing of Implicit Surfaces on the GPU", IEEE Transactions on Visualization & Computer Graphics, vol.16, no. 2, pp. 261-272, March/April 2010, doi:10.1109/TVCG.2009.41
[1] J. Bloomenthal and K. Ferguson, “Polygonization of Non-Manifold Implicit Surfaces,” Proc. ACM SIGGRAPH, pp. 309-316, 1995.
[2] A. Reshetov, A. Soupikov, and J. Hurley, “Multi-Level Ray Tracing Algorithm,” ACM Trans. Graphics, vol. 24, no. 3, pp. 1176-1185, 2005.
[3] S. Woop, J. Schmittler, and P. Slusallek, “RPU: A Programmable Ray Processing Unit for Realtime Ray Tracing,” ACM Trans. Graphics, vol. 24, no. 3, pp. 434-444, 2005.
[4] T. Whitted and J. Kajiya, “Fully Procedural Graphics,” Proc. ACM SIGGRAPH/EUROGRAPHICS Conf. Graphics Hardware, pp. 81-90, 2005.
[5] C. Loop and J. Blinn, “Real-Time GPU Rendering of Piecewise Algebraic Surfaces,” ACM Trans. Graphics, vol. 25, no. 3, pp.664-670, 2006.
[6] A. Knoll, Y. Hijazi, A. Kensler, M. Schott, C.D. Hansen, and H. Hagen, “Fast and Robust Ray Tracing of General Implicits on the GPU,” Technical Report UUSCI-2007-014, Univ. of Utah, 2007.
[7] W.E. Lorensen and H.E. Cline, “Marching Cubes: A High Resolution 3d Surface Construction Algorithm,” Proc. ACM SIGGRAPH, pp. 163-169, 1987.
[8] S. Green, Y. Urlasky, and E. Hart, “Nvidia Opengl SDK Isosurface Extraction Using Marching Tetrahedra,” http:/developer., 2007.
[9] P. Hanrahan, “Ray Tracing Algebraic Surfaces,” Proc. ACM SIGGRAPH, pp. 83-90, 1983.
[10] I. Wald and H.-P. Seidel, “Interactive Ray Tracing of Point Based Models,” Proc. Symp. Point-Based Graphics, 2005.
[11] J.T. Kajiya, “Ray Tracing Parametric Patches,” Proc. ACM SIGGRAPH, pp. 245-254, 1982.
[12] D.P. Mitchell, “Robust Ray Intersection with Interval Arithmetic,” Proc. Graphics Interface Conf. '90, pp. 68-74, 1990.
[13] T. Duff, “Interval Arithmetic Recursive Subdivision for Implicit Functions and Constructive Solid Geometry,” ACM SIGGRAPH Computer Graphics, vol. 26, no. 2, pp. 131-138, 1992.
[14] O. Caprani, L. Hvidegaard, M. Mortensen, and T. Schneider, “Robust and Efficient Ray Intersection of Implicit Surfaces,” Reliable Computing, vol. 6, no. 1, pp. 9-21, 2000.
[15] J. Florez, M. Sbert, M.A. Sainz, and J. Vehi, “Improving the Interval Ray Tracing of Implicit Surfaces,” Proc. Computer Graphics Int'l Conf., pp. 655-664, 2006.
[16] A. Knoll, Y. Hijazi, C.D. Hansen, I. Wald, and H. Hagen, “Interactive Ray Tracing of Arbitrary Implicit Functions,” Proc. Eurographics/IEEE Symp. Interactive Ray Tracing, 2007.
[17] J.M. Singh and P.J. Narayanan, “Real-Time Ray-Tracing of Implicit Surfaces on the GPU,” Technical Report 2007-72, Int'l Inst. of Information Tech nology, 2007.
[18] J.F. Blinn, “How to Solve a Cubic Equation, Part 1: The Shape of the Discriminant,” IEEE Computer Graphics and Applications, vol. 26, no. 3, pp. 84-93, May 2006.
[19] W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, Numerical Recipes in C: The Art of Scientific Computing. Cambridge Univ. Press, 1992.
[20] F. Rouillier and P. Zimmermann, “Efficient Isolation of Polynomial's Real Roots,” J. Computational and Applied Math., vol. 162, no. 1, pp. 33-50, 2004.
[21] E. Hansen and W. Walster, Global Optimization Using Interval Analysis. Marcel Dekker, 2003.
[22] R. Krawczyk, “Newton-Algorithmen Zur Bcstimmung Yon Nullstellen Mit Fehlerschranken,” Computing, vol. 4, pp. 187-201, 1969.
[23] T.J. Purcell, I. Buck, W.R. Mark, and P. Hanrahan, “Ray Tracing on Programmable Graphics Hardware,” Proc. ACM SIGGRAPH, pp.703-712, 2002.
[24] N.A. Carr, J.D. Hall, and J.C. Hart, “The Ray Engine,” Proc. ACM SIGGRAPH/EUROGRAPHICS Conf. Graphics Hardware, pp. 37-46, 2002.
[25] R. Toledo and B. Levy, “Extending the Graphic Pipeline with New gpu-Accelerated Primitives,” technical report, INRIA, 2004.
[26] C. Sigg, T. Weyrich, M. Botsch, and M. Gross, “GPU-Based Ray-Casting of Quadratic Surfaces,” Proc. Eurographics Symp. Point-Based Graphics '06, pp. 59-65, 2006.
[27] S.M. Ranta, J.M. Singh, and P.J. Narayanan, “GPU Objects,” Proc. Indian Conf. Computer Vision, Graphics and Image Processing (ICVGIP), pp. 352-363, 2006.
[28] A. Adamson and M. Alexa, “Ray Tracing Point Set Surfaces,” Proc. Int'l Conf. Shape Modeling and Applications (SMI '03), pp. 272-279, 2003.
[29] M. Hadwiger, C. Sigg, H. Scharsach, K. Buhler, and M. Gross, “Real-Time Ray-Casting and Advanced Shading of Discrete Isosurfaces,” Proc. Ann. Conf. European Assoc. for Computer Graphics (Eurographics 2005), pp. 303-312, 2005.
[30] C.T. Loop and J.F. Blinn, “Resolution Independent Curve Rendering Using Programmable Graphics Hardware,” ACM Trans. Graphics, vol. 24, no. 3, pp. 1000-1009, 2005.
[31] J. Seland and T. Dokken, “Real Time Algebraic Surface Visualization,” Proc. Supercomputing '06 Workshop: General-Purpose GPU Computing: Practice and Experience, 2006.
[32] K. Perlin and E.M. Hoffert, “Hypertexture,” Proc. ACM SIGGRAPH, pp. 253-262, 1989.
[33] D. Kalra and A.H. Barr, “Guaranteed Ray Intersections with Implicit Surfaces,” Proc. ACM SIGGRAPH, pp. 297-306, 1989.
[34] J.C. Hart, “Sphere Tracing: A Geometric Method for the Antialiased Ray Tracing of Implicit Surfaces,” The Visual Computer, vol. 12, no. 10, pp. 527-545, 1996.
[35] G. Taubin, “Distance Approximations for Rasterizing Implicit Curves,” ACM Trans. Graphics, vol. 13, no. 1, pp. 3-42, 1994.
[36] F. Policarpo, M.M. Oliveira, and J.L.D. Comba, “Real-Time Relief Mapping on Arbitrary Polygonal Surfaces,” ACM Trans. Graphics, vol. 24, no. 3, p. 935, 2005.
[37] E. de Groot and B. Wyvill, “Rayskip: Faster Ray Tracing of Implicit Surface Animations,” Proc. Third Int'l Conf. Computer Graphics and Interactive Techniques in Australasia and South East Asia, pp. 31-36, 2005.
19 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool