Real-time GPU rendering of piecewise algebraic surfaces

We consider the problem of real-time GPU rendering of algebraic surfaces defined by Bézier 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, ACM Trans. Graph..

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

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

[4]  Hartmut Prautzsch,et al.  Quadric splines , 1999, Comput. Aided Geom. Des..

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

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

[7]  C. Bajaj Chapter 3: Implicit Surface Patches , 1997 .

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

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

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

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

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

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

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

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

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

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

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

[19]  P. Heckbert THE MATHEMATICS OF D QUADRIC SURFACE RENDERING AND SOI , 1984 .

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