Real‐Time Rendering Techniques with Hardware Tessellation

Graphics hardware has progressively been optimized to render more triangles with increasingly flexible shading. For highly detailed geometry, interactive applications restricted themselves to performing transforms on fixed geometry, since they could not incur the cost required to generate and transfer smooth or displaced geometry to the GPU at render time. As a result of recent advances in graphics hardware, in particular the GPU tessellation unit, complex geometry can now be generated on the fly within the GPU's rendering pipeline. This has enabled the generation and displacement of smooth parametric surfaces in real‐time applications. However, many well‐established approaches in offline rendering are not directly transferable due to the limited tessellation patterns or the parallel execution model of the tessellation stage. In this survey, we provide an overview of recent work and challenges in this topic by summarizing, discussing, and comparing methods for the rendering of smooth and highly detailed surfaces in real time.

[1]  Peter-Pike J. Sloan,et al.  Importance Driven Texture Coordinate Optimization , 1998, Comput. Graph. Forum.

[2]  Jack J. Purdum,et al.  C programming guide , 1983 .

[3]  Matthias Nießner,et al.  Feature-Adaptive Rendering of Loop Subdivision Surfaces on Modern GPUs , 2014, Journal of Computer Science and Technology.

[4]  Malcolm A. Sabin,et al.  Behaviour of recursive division surfaces near extraordinary points , 1998 .

[5]  Pascal Mueller Applied procedural modeling , 2007, SIGGRAPH '07.

[6]  Pat Hanrahan,et al.  DiagSplit: parallel, crack-free, adaptive tessellation for micropolygon rendering , 2009, ACM Trans. Graph..

[7]  Marc Stamminger,et al.  Multiresolution attributes for tessellated meshes , 2012, I3D '12.

[8]  Jörg Peters,et al.  Efficient Pixel-accurate Rendering of Animated Curved Surfaces , 2012, MMCS.

[9]  Nick Baker,et al.  Xbox 360 System Architecture , 2006, IEEE Micro.

[10]  Jason L. Mitchell,et al.  Real-time creased approximate subdivision surfaces , 2009, I3D '09.

[11]  Mohamed S. Ebeida,et al.  Parallel view-dependent tessellation of Catmull-Clark subdivision surfaces , 2009, High Performance Graphics.

[12]  Marc Stamminger,et al.  Fast GPU‐based Adaptive Tessellation with CUDA , 2009, Comput. Graph. Forum.

[13]  Charles T. Loop,et al.  Smooth Subdivision Surfaces Based on Triangles , 1987 .

[14]  Brent Burley,et al.  Ptex: Per‐Face Texture Mapping for Production Rendering , 2008, Comput. Graph. Forum.

[15]  Mark Meyer,et al.  Dynamic feature-adaptive subdivision , 2015, I3D.

[16]  Michael Schwarz Practical Binary Surface and Solid Voxelization with Direct3D 11 , 2012 .

[17]  Kai Hormann,et al.  Surface Parameterization: a Tutorial and Survey , 2005, Advances in Multiresolution for Geometric Modelling.

[18]  Sylvain Lefebvre,et al.  Appearance-space texture synthesis , 2006, ACM Trans. Graph..

[19]  Henry P. Moreton,et al.  Watertight tessellation using forward differencing , 2001, HWWS '01.

[20]  Keenan Crane,et al.  Rectangular multi-chart geometry images , 2006, SGP '06.

[21]  Natalya Tatarchuk,et al.  Programming for Real-Time Tessellation on GPU , 2009 .

[22]  Bruno Lévy,et al.  Least squares conformal maps for automatic texture atlas generation , 2002, ACM Trans. Graph..

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

[24]  Egor Yusov Real-Time Deformable Terrain Rendering with DirectX 11 , 2012 .

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

[26]  Gustavo Patow,et al.  Continuity mapping for multi-chart textures , 2009, ACM Trans. Graph..

[27]  Matthias Nießner,et al.  Effective Back-Patch Culling for Hardware Tessellation , 2011, VMV.

[28]  Renato Pajarola,et al.  Survey of semi-regular multiresolution models for interactive terrain rendering , 2007, The Visual Computer.

[29]  Iain Cantlay DirectX 11 Terrain Tessellation , 2011 .

[30]  J. A. Gregory Smooth interpolation without twist constraints , 1974 .

[31]  Robert L. Cook,et al.  Shade trees , 1984, SIGGRAPH.

[32]  Chi-Wing Fu,et al.  A divide-and-conquer approach for automatic polycube map construction , 2009, Comput. Graph..

[33]  Tamy Boubekeur,et al.  A Flexible Kernel for Adaptive Mesh Refinement on GPU , 2008, Comput. Graph. Forum.

[34]  László Szirmay-Kalos,et al.  Displacement Mapping on the GPU — State of the Art , 2008 .

[35]  Charles T. Loop,et al.  Approximating subdivision surfaces with Gregory patches for hardware tessellation , 2009, ACM Trans. Graph..

[36]  JungHyun Han,et al.  GPU-optimized indirect scalar displacement mapping , 2013, Comput. Aided Des..

[37]  Paolo Cignoni,et al.  PolyCube-Maps , 2004, SIGGRAPH 2004.

[38]  Matthias Nießner,et al.  State of the Art Report on Real-time Rendering with Hardware Tessellation , 2014, Eurographics.

[39]  Matthias Nießner,et al.  Local Painting and Deformation of Meshes on the GPU , 2015, Comput. Graph. Forum.

[40]  Tony DeRose,et al.  Piecewise smooth surface reconstruction , 1994, SIGGRAPH.

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

[42]  John Hart,et al.  Painting detail , 2004, SIGGRAPH 2004.

[43]  Gustavo Patow,et al.  Continuity mapping for multi-chart textures , 2009, SIGGRAPH 2009.

[44]  Salim S. Abi-Ezzi,et al.  The Cone of Normals Technique for Fast Processing of Curved Patches , 1993, Comput. Graph. Forum.

[45]  Lance Williams,et al.  Pyramidal parametrics , 1983, SIGGRAPH.

[46]  Benjamin Keinert,et al.  Real-time local displacement using dynamic GPU memory management , 2013, HPG '13.

[47]  Martin Bertram Lifting Biorthogonal B-spline Wavelets , 2004 .

[48]  C. Groenewoud,et al.  The Smallest Covering Cone or Sphere , 1963 .

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

[50]  C. L. Lawson The Smallest Covering Cone or Sphere (C. Groenewod and L. Eusanio) , 1965 .

[51]  John C. Hart,et al.  Meshed atlases for real-time procedural solid texturing , 2002, TOGS.

[52]  Budirijanto Purnomo,et al.  Seamless texture atlases , 2004, SGP '04.

[53]  Tomas Akenine-Möller,et al.  Automatic pre-tessellation culling , 2009, TOGS.

[54]  Tony DeRose,et al.  Subdivision surfaces in character animation , 1998, SIGGRAPH.

[55]  Scott Schaefer,et al.  Approximating subdivision surfaces with Gregory patches for hardware tessellation , 2009, SIGGRAPH 2009.

[56]  James F. Blinn,et al.  Simulation of wrinkled surfaces , 1978, SIGGRAPH.

[57]  DIFFERENTIAL GEOMETRY OF CURVES AND SURFACES 2 , 2006 .

[58]  Xavier Bonaventura Terrain and Ocean Rendering with Hardware Tessellation , 2011 .

[59]  Carsten Dachsbacher,et al.  Fractional Reyes‐Style Adaptive Tessellation for Continuous Level of Detail , 2014, Comput. Graph. Forum.

[60]  Charles T. Loop,et al.  Improving the Parameterization of Approximate Subdivision Surfaces , 2012, Comput. Graph. Forum.

[61]  Pedro V. Sander,et al.  Signal-Specialized Parametrization , 2002, Rendering Techniques.

[62]  LévyBruno,et al.  Least squares conformal maps for automatic texture atlas generation , 2002 .

[63]  Matthias Nießner,et al.  Real-time Collision Detection for Dynamic Hardware Tessellated Objects , 2013, Eurographics.

[64]  Ulrich Reif,et al.  A Refineable Space of Smooth Spline Surfaces of Arbitrary Topological Genus , 1997 .

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

[66]  Robert L. Cook,et al.  The Reyes image rendering architecture , 1987, SIGGRAPH.

[67]  Marc Stamminger,et al.  Multiresolution Attributes for Hardware Tessellated Objects , 2013, IEEE Transactions on Visualization and Computer Graphics.

[68]  Matthias Nießner,et al.  Rendering Subdivision Surfaces using Hardware Tessellation , 2013 .

[69]  Pascal Gautron,et al.  GPU Shape Grammars , 2012, Comput. Graph. Forum.

[70]  John C. Hart,et al.  Seamster: inconspicuous low-distortion texture seam layout , 2002, IEEE Visualization, 2002. VIS 2002..

[71]  G. Stiny Introduction to Shape and Shape Grammars , 1980 .

[72]  Matthias Nießner,et al.  Real-Time Deformation of Subdivision Surfaces from Object Collisions , 2014, High Performance Graphics.

[73]  Jörg Peters,et al.  Fast Parallel Construction of Smooth Surfaces from Meshes with Tri/Quad/Pent Facets , 2008, Comput. Graph. Forum.

[74]  A. Lindenmayer Mathematical models for cellular interactions in development. I. Filaments with one-sided inputs. , 1968, Journal of theoretical biology.

[75]  Pat Hanrahan,et al.  DiagSplit: parallel, crack-free, adaptive tessellation for micropolygon rendering , 2009, SIGGRAPH 2009.

[76]  Shi-Qing Xin,et al.  Editable polycube map for GPU-based subdivision surfaces , 2011, SI3D.

[77]  Sylvain Lefebvre,et al.  Invisible Seams , 2010, Comput. Graph. Forum.

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

[79]  Matthias Nießner,et al.  Analytic displacement mapping using hardware tessellation , 2013, TOGS.

[80]  M. Stamminger,et al.  Multi-Resolution Attributes for Hardware Tessellated Objects. , 2013, IEEE transactions on visualization and computer graphics.

[81]  Marc Alexa,et al.  Phong Tessellation , 2008, SIGGRAPH 2008.

[82]  Natalya Tatarchuk,et al.  March of the Froblins: simulation and rendering massive crowds of intelligent and detailed creatures on GPU , 2008, SIGGRAPH '08.

[83]  Mark Segal,et al.  The OpenGL Graphics System: A Specification , 2004 .

[84]  Gavin S. P. Miller,et al.  Hierarchical Z-buffer visibility , 1993, SIGGRAPH.

[85]  JungHyun Han,et al.  Feature‐Preserving Displacement Mapping With Graphics Processing Unit (GPU) Tessellation , 2012, Comput. Graph. Forum.

[86]  Charles T. Loop,et al.  Real-time view-dependent rendering of parametric surfaces , 2009, I3D '09.

[87]  John C. Hart,et al.  Painting detail , 2004, ACM Trans. Graph..

[88]  Pedro V. Sander,et al.  Multi-Chart Geometry Images , 2003, Symposium on Geometry Processing.

[89]  Jörg Peters,et al.  GPU conversion of quad meshes to smooth surfaces , 2008, SPM '08.

[90]  Makoto Maruya Generating a Texture Map from Object‐Surface Texture Data , 1995, Comput. Graph. Forum.

[91]  Peter Wonka,et al.  Urban design and procedural modeling , 2007, SIGGRAPH '07.

[92]  Tamy Boubekeur,et al.  Generic mesh refinement on GPU , 2005, HWWS '05.

[93]  Christopher J. Migdal,et al.  The clipmap: a virtual mipmap , 1998, SIGGRAPH.

[94]  Tomas Akenine-Möller,et al.  Efficient bounding of displaced Bézier patches , 2010, HPG '10.

[95]  Jörg Peters,et al.  Optimized refinable enclosures of multivariate polynomial pieces , 2001, Comput. Aided Geom. Des..

[96]  Neil A. Dodgson,et al.  Advances in Multiresolution for Geometric Modelling , 2005 .

[97]  Matthias Nießner,et al.  Patch-Based Occlusion Culling for Hardware Tessellation , 2012 .

[98]  Thomas W. Sederberg,et al.  Loop detection in surface patch intersections , 1988, Comput. Aided Geom. Des..

[99]  David Goldberg What Every Computer Scientist Should Know About Floating-Point Arithmetic , 1992 .

[100]  H. Piaggio Differential Geometry of Curves and Surfaces , 1952, Nature.

[101]  High-Performance Terrain Rendering Using Hardware Tessellation , 2011, J. WSCG.

[102]  Tony DeRose,et al.  Feature-adaptive GPU rendering of Catmull-Clark subdivision surfaces , 2012, TOGS.

[103]  Matthias Nießner,et al.  Efficient Evaluation of Semi-Smooth Creases in Catmull-Clark Subdivision Surfaces , 2012, Eurographics.

[104]  Jörg Peters,et al.  Efficient pixel-accurate rendering of curved surfaces , 2012, I3D '12.