Streaming Compression of Triangle Meshes

Martin Isenburg      Peter Lindstrom      Jack Snoeyink

Current mesh compression schemes encode triangles and vertices in an order derived from systematically traversing the connectivity graph. These schemes struggles with gigabyte-sized mesh input where the construction and the usage of the data structures that support topological traversal queries becomes IO-inefficient and requires large amounts of temporary disk space. Furthermore they expect the entire mesh as input. Meshes cannot be compressed until their generation is complete so that they have to be stored at least once in uncompressed form.

We radically depart from the traditional approach to mesh compression and propose a scheme that incrementally encodes a mesh in the order it is given to the compressor using only minimal memory resources. This makes the compression process basically transparent to the user and practically independent of the mesh size. This is especially beneficial for compressing large meshes where previous approaches spend significant amounts of memory, disk space, CPU time, and file I/O on pre-processing, whereas our scheme can start compressing after having been given the first few triangles.

main contributions:

  • compression (not just decompression) of meshes in a streaming manner
  • meshes are compressed in increments of triangles and vertices
  • writing and reading compressed meshes becomes user-transparent
  • practical independence of mesh size. scales to arbitrary large input
  • local instead of global reordering for connectivity compression
  • compression can preserve either exact or global triangle order
  • geometry compression that does not nead a-priori bounding box information

  • publications:

  • [ils-sctm-05.pdf], Martin Isenburg, Peter Lindstrom, Jack Snoeyink, Streaming Compression of Triangle Meshes, Proceedings of 3rd Symposium on Geometry Processing, pages 111-118, July 2005.
  • [ils-sctm_abs-05.pdf] (abstract), Martin Isenburg, Peter Lindstrom, Jack Snoeyink, Streaming Compression of Triangle Meshes, presented as a sketch at SIGGRAPH'05, Los Angeles, August 2005.
  • related publications:

  • [il-sm-05.pdf slides], Martin Isenburg, Peter Lindstrom, Streaming Meshes, Proceedings of Visualization'05, pages 231-238, October 2005.
  • [il-sctvm-06.pdf] Martin Isenburg, Peter Lindstrom, Stefan Gumhold, Jonathan Shewchuk, Streaming Compression of Tetrahedral Volume Meshes, Proceedings of Graphics Interface 2006, pages 115-121, June 2006.
  • [ig-ooccgpm-03.pdf slides] Martin Isenburg, Stefan Gumhold, Out-of-Core Compression for Gigantic Polygon Meshes, Proceedings of SIGGRAPH'03, pages 935-942, July 2003.
  • download: (updated on October 17th, 2007)

  • source code and programming API, including MSVC 6.0 project files (8 MB)
  • demo software and example models: (37 MB)
  • slides sctm.ppt (+ embedded videos)