EDGEBREAKER: Compressing the Incidence Graph of Triangle Meshes
Edgebreaker is a simple scheme for compressing the triangle/vertex incidence graphs (sometimes called topology) of three-dimensional triangle meshes. Edgebreaker improves upon the worst case and the expected compression ratios of previously reported schemes, most of which require O(nlogn) bits to store the incidence graph of a mesh of n triangles. Edgebreaker requires only 2n bits or less for simple meshes and can also support fully general meshes by using additional storage per handle and hole. Edgebreaker's compression and decompression processes perform an identical traversal of the mesh from one triangle to an adjacent one. At each stage, compression produces an op-code describing the topological relation between the current triangle and the boundary of the remaining part of the mesh. Decompression uses these op-codes to reconstruct the entire incidence graph. Because Edgebreaker's compression and decompression are independent of the vertex locations, Edgebreaker may be combined with a variety of vertex-compressing techniques that exploit topological information about the mesh to better estimate vertex locations. Edgebreaker may be used to transfer the entire surface bounding a 3D polyhedron or only a triangulated surface patch, for which the bounding loops are already known and need not be transferred. Its superior compression capabilities, the simplicity of its implementation, and its versatility make Edgebreaker the perfect candidate for the emerging 3D data exchange standards for interactive graphic applications. The paper sets geometric compression in a formal topological framework and offers a new comparative perspective on prior art.