Real-time GPU rendering of piecewise algebraic surfaces

We consider the problem of real-time GPU rendering of algebraic surfaces defined by Bezier tetrahedra. These surfaces are rendered directly in terms of their polynomial representations, as opposed to a collection of approximating triangles, thereby eliminating tessellation artifacts and reducing memory usage. A key step in such algorithms is the computation of univariate polynomial coefficients at each pixel; real roots of this polynomial correspond to possibly visible points on the surface. Our approach leverages the strengths of GPU computation and is highly efficient. Furthermore, we compute these coefficients in Bernstein form to maximize the stability of root finding, and to provide shader instances with an early exit test based on the sign of these coefficients. Solving for roots is done using analytic techniques that map well to a SIMD architecture, but limits us to fourth order algebraic surfaces. The general framework could be extended to higher order with numerical root finding.

[1]  David Blythe The Direct3D 10 system , 2006, SIGGRAPH 2006.

[2]  C. D. Boor,et al.  B-Form Basics. , 1986 .

[3]  Thomas W. Sederberg Piecewise algebraic surface patches , 1985, Comput. Aided Geom. Des..

[4]  James F. Blinn Jim Blinn's Corner , 1987, IEEE Computer Graphics and Applications.

[5]  Leif Kobbelt,et al.  Phong Splatting , 2004, PBG.

[6]  Josef Hoschek,et al.  Fundamentals of computer aided geometric design , 1996 .

[7]  Thomas Malzbender,et al.  Polynomial texture maps , 2001, SIGGRAPH.

[8]  Markus Hadwiger,et al.  Real‐Time Ray‐Casting and Advanced Shading of Discrete Isosurfaces , 2005, Comput. Graph. Forum.

[9]  Robert Mahl,et al.  Visible Surface Algorithms for Quadric Patches , 1972, IEEE Transactions on Computers.

[10]  Baining Guo Quadric and cubic bitetrahedral patches , 2005, The Visual Computer.

[11]  Rida T. Farouki,et al.  On the numerical condition of polynomials in Bernstein form , 1987, Comput. Aided Geom. Des..

[12]  Alan C. Bovik,et al.  Visible surface reconstruction via local minimax approximation , 1988, Pattern Recognit..

[13]  Rida T. Farouki,et al.  Algorithms for polynomials in Bernstein form , 1988, Comput. Aided Geom. Des..

[14]  Hartmut Prautzsch,et al.  A geometric criterion for the convexity of Powell-Sabin interpolants and its multivariate generalization , 1999, Comput. Aided Geom. Des..

[15]  Thomas W. Sederberg,et al.  Scan line display of algebraic surfaces , 1989, SIGGRAPH.

[16]  John Hart,et al.  ACM Transactions on Graphics: Editorial , 2003, SIGGRAPH 2003.

[17]  Sebastian Enrique Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials , 2004 .

[18]  Lyle Ramshaw,et al.  Blossoms are polar forms , 1989, Comput. Aided Geom. Des..

[19]  J.F. Blinn,et al.  How to solve a Quadratic Equation , 2005, IEEE Computer Graphics and Applications.

[20]  James F. Blinn,et al.  Jim Blinn's Corner: Notation, Notation, Notation , 2002 .

[21]  Don Herbison-Evans,et al.  Solving Quartics and Cubics for Graphics , 1995 .

[22]  Peter Shirley,et al.  A polygonal approximation to direct scalar volume rendering , 1990, SIGGRAPH 1990.

[23]  Jim Blinn Chapter Zero – Notation: April 2002 , 2003 .

[24]  Charles T. Loop,et al.  Resolution independent curve rendering using programmable graphics hardware , 2005, ACM Trans. Graph..