Parallel smoothing of quad meshes

For use in real-time applications, we present a fast algorithm for converting a quad mesh to a smooth, piecewise polynomial surface on the Graphics Processing Unit (GPU). The surface has well-defined normals everywhere and closely mimics the shape of Catmull–Clark subdivision surfaces. It consists of bicubic splines wherever possible, and a new class of patches—c-patches—where a vertex has a valence different from 4. The algorithm fits well into parallel streams so that meshes with 12,000 input quads, of which 60% have one or more non-4-valent vertices, are converted, evaluated and rendered with 9×9 resolution per quad at 50 frames per second. The GPU computations are ordered so that evaluation avoids pixel dropout.

[1]  Jörg Peters,et al.  The simplest subdivision scheme for smoothing polyhedra , 1997, TOGS.

[2]  Jörg Peters,et al.  Patching Catmull-Clark meshes , 2000, SIGGRAPH.

[3]  Gerald Farin,et al.  Curves and surfaces for computer aided geometric design , 1990 .

[4]  Jörg Peters,et al.  GPU smoothing of quad meshes , 2008, 2008 IEEE International Conference on Shape Modeling and Applications.

[5]  Carlos Gonzalez-Ochoa,et al.  Localized-hierarchy surface splines (LeSS) , 1999, SI3D.

[6]  Matt Pharr,et al.  Gpu gems 2: programming techniques for high-performance graphics and general-purpose computation , 2005 .

[7]  Peter Schröder,et al.  Rapid evaluation of Catmull-Clark subdivision surfaces , 2002, Web3D '02.

[8]  D. Zorin,et al.  4-8 Subdivision , 2001 .

[9]  Jörg Peters,et al.  Curved PN triangles , 2001, I3D '01.

[10]  D. J. Evans,et al.  Software for Numerical Mathematics , 1975 .

[11]  Bobby Bodenheimer,et al.  Synthesis and evaluation of linear motion transitions , 2008, TOGS.

[12]  J. Clark,et al.  Recursively generated B-spline surfaces on arbitrary topological meshes , 1978 .

[13]  Jörg Peters,et al.  A realtime GPU subdivision kernel , 2005, SIGGRAPH '05.

[14]  Charles T. Loop,et al.  Approximating Catmull-Clark subdivision surfaces with bicubic patches , 2008, TOGS.

[15]  Reinhard Klein,et al.  GPU-based trimming and tessellation of NURBS and T-Spline surfaces , 2005, SIGGRAPH 2005.

[16]  Hugues Hoppe,et al.  Displaced subdivision surfaces , 2000, SIGGRAPH.

[17]  P. Zwart Multivariate Splines with Nondegenerate Partitions , 1973 .

[18]  E. Catmull,et al.  Recursively generated B-spline surfaces on arbitrary topological meshes , 1978 .

[19]  Tony DeRose,et al.  Efficient, fair interpolation using Catmull-Clark surfaces , 1993, SIGGRAPH.

[20]  Jos Stam,et al.  Exact evaluation of Catmull-Clark subdivision surfaces at arbitrary parameter values , 1998, SIGGRAPH.