Real-time local displacement using dynamic GPU memory management

We propose a novel method for local displacement events in large scenes, such as scratches, footsteps, or sculpting operations. Deformations are stored as displacements for vertices generated by hardware tessellation. Adaptive mesh refinement, application of the displacement and all involved memory management happen completely on the GPU. We show various extensions to our approach, such as on-the-fly normal computation and multi-resolution editing. In typical game scenes we perform local deformations at arbitrary positions in far less than one millisecond. This makes the method particularly suited for games and interactive sculpting applications.

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

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

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

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

[5]  Guy E. Blelloch,et al.  Prefix sums and their applications , 1990 .

[6]  Jörg Peters,et al.  Efficient substitutes for subdivision surfaces , 2009, SIGGRAPH '09.

[7]  Hans-Peter Seidel,et al.  Interactive multi-resolution modeling on arbitrary meshes , 1998, SIGGRAPH.

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

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

[10]  John D. Owens,et al.  Efficient Parallel Scan Algorithms for Manycore GPUs , 2010, Scientific Computing with Multicore and Accelerators.

[11]  Tomas Akenine-Möller Fast 3D Triangle-Box Overlap Testing , 2001, J. Graphics, GPU, & Game Tools.

[12]  Marc Alexa,et al.  Phong Tessellation , 2008, SIGGRAPH Asia '08.

[13]  Sylvain Lefebvre,et al.  Texture sprites: texture elements splatted on surfaces , 2005, I3D '05.

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

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

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

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

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

[19]  David M. Chelberg,et al.  Interactive mesostructures , 2013, I3D '13.

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

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

[22]  Donald H. House,et al.  Mesh colors , 2010, TOGS.

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

[24]  M. Steinberger,et al.  ScatterAlloc: Massively parallel dynamic memory allocation for the GPU , 2012, 2012 Innovative Parallel Computing (InPar).

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

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

[27]  Nelson L. Max,et al.  Weights for Computing Vertex Normals from Facet Normals , 1999, J. Graphics, GPU, & Game Tools.

[28]  Pierre Poulin,et al.  Surface Aging by Impacts , 2001, Graphics Interface.

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

[30]  Peter Schröder,et al.  Normal meshes , 2000, SIGGRAPH.

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

[32]  Ken A. Hawick,et al.  Graph Generation on GPUs using Dynamic Memory Allocation , 2011 .

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

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

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

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