Unstructured hexahedral volume meshes are of particular interest for visualization and simulation applications. They allow regular tiling of the three-dimensional space and show good numerical behaviour in finite element computations. Beside such appealing properties, volume meshes take up huge amounts of space when stored in a raw format. In this paper we present a technique for encoding connectivity and geometry of unstructured hexahedral volume meshes.
For connectivity compression, we extend the idea of coding with degrees as pioneered by Touma and Gotsman to volume meshes. Hexahedral connectivity is coded as a sequence of edge degrees. This naturally exploits the regularity of typical hexahedral meshes. We achieve compression rates of around 1.5 bits per hexahedron (bph) that go down to 0.18 bph for regular meshes. On our test meshes the average connectivity compression ratio is 1:162.
For geometry compression, we perform simple parallelogram prediction on uniformly quantized vertices within the side of a hexahedron. Tests show an average geometry compression ratio of 1:3.7 at a quantization level of 16 bits.
The described data structure for compression is unnecessarily bloated. A more efficient implementation would separate the data structure into a static part that stores hexahedral connectivity and a dynamic part that maintains the hull. The described prediction for the position of the last vertex of a hexahedron (by far the most frequent case) should be replaced by the more efficient Lorenzo prediction. This improves geometry compression rates further and is already implemented in the available source code.