Processing Sequences: A new Paradigm for Out-of-Core Processing on Large Meshes

In this paper we introduce a new processing paradigm for meshes that are too large to fit entirely into main memory. We define the concept of a processing sequence that is essentially just a ordered sequence of triangles. This triangle ordering gives access to a mesh in a particular useful way that may be exploited to design efficient mesh processing algorithms on top of it. Rearranging mesh triangles in a particular order is already used for fast rendering on modern graphics cards with vertex cache. The triangles are sent to the card in a rendering sequence that tries to minimize cache misses. We exploit a similar strategy for more efficient mesh processing—but at a much larger scale. The main memory as a “cache” is much more flexible so that the data necessary for a complete mesh traversal can always be kept in-core. Therefore the analogue of a “cache miss” does fortunately not exist. In this working draft we define which triangle orderings constitute a processing sequence, discuss which other properties we want a processing sequence to have, sketch out different approaches for generating processing sequences, describe the two computational abstractions, namely boundary-based and buffer-based processing, provided by processing sequences, and give some simple examples of how to use our prototype API for out-of-core processing.

[1]  Michael Garland,et al.  Efficient adaptive simplification of massive meshes , 2001, Proceedings Visualization, 2001. VIS '01..

[2]  David J. Kriegman,et al.  Compressing large polygonal models , 2001, Proceedings Visualization, 2001. VIS '01..

[3]  Michael Deering,et al.  Geometry compression , 1995, SIGGRAPH.

[4]  Craig Gotsman,et al.  Triangle Mesh Compression , 1998, Graphics Interface.

[5]  Michael Garland,et al.  Surface simplification using quadric error metrics , 1997, SIGGRAPH.

[6]  Cláudio T. Silva,et al.  A memory insensitive technique for large model simplification , 2001, Proceedings Visualization, 2001. VIS '01..

[7]  Renato Pajarola,et al.  Out-Of-Core Algorithms for Scientific Visualization and Computer Graphics , 2002 .

[8]  Martin Isenburg,et al.  Large mesh simplification using processing sequences , 2003, IEEE Visualization, 2003. VIS 2003..

[9]  Prasun Choudhury Completely Adaptive Simplification of Massive Meshes , 2002 .

[10]  Steven Skiena,et al.  Optimizing triangle strips for fast rendering , 1996, Proceedings of Seventh Annual IEEE Visualization '96.

[11]  Marc Levoy The Digital Michelangelo Project , 1999, Comput. Graph. Forum.

[12]  Peter Lindstrom,et al.  Out-of-core simplification of large polygonal models , 2000, SIGGRAPH.

[13]  ChrisPrince Departmentof ComputerScienceandEngineering Progressive Meshes for Large Models of Arbitrary Topology , 2000 .

[14]  Michael Garland,et al.  A multiphase approach to efficient surface simplification , 2002, IEEE Visualization, 2002. VIS 2002..

[15]  Gabriel Taubin,et al.  Building a Digital Model of Michelangelo's Florentine Pietà , 2002, IEEE Computer Graphics and Applications.

[16]  Hugues Hoppe Smooth view-dependent level-of-detail control and its application to terrain rendering , 1998 .

[17]  Paolo Cignoni,et al.  External Memory Management and Simplification of Huge Meshes , 2003, IEEE Trans. Vis. Comput. Graph..

[18]  Martin Isenburg,et al.  Out-of-core compression for gigantic polygon meshes , 2003, ACM Trans. Graph..

[19]  Leif Kobbelt,et al.  A Stream Algorithm for the Decimation of Massive Meshes , 2003, Graphics Interface.

[20]  Hugues Hoppe,et al.  Optimization of mesh locality for transparent vertex caching , 1999, SIGGRAPH.

[21]  Reuven Bar-Yehuda,et al.  Time/space tradeoffs for polygon mesh rendering , 1996, TOGS.

[22]  Sara McMains,et al.  Out-of-core build of a topological data structure from polygon soup , 2001, SMA '01.

[23]  Craig Gotsman,et al.  Universal Rendering Sequences for Transparent Vertex Caching of Progressive Meshes , 2002, Comput. Graph. Forum.