TetStreamer: Compressed Back-to-Front Transmission of Delaunay Tetrahedra Meshes
Rossignac, Jaroslaw R.
MetadataShow full item record
We use the shorts tet and tri for tetrahedron and triangle. TetStreamer encodes a Delaunay tet mesh in a back-to-front visibility order and streams it from a server to a client (volumetric visualizer). During decompression, the server performs the viewdependent back-to-front sorting of the tets by identifying and deactivating one free tet at a time. A tet is free when all its back faces are on the sheet. The sheet is a tri mesh separating active and inactive tets. It is initialized with the back-facing boundary of the mesh. It is compressed using EdgeBreaker and transmitted first. It is maintained by both the server and the client and advanced towards the viewer passing one free tet at a time. The client receives a compressed bit stream indicating where to attach free tets to the sheet. It renders each free tet and updates the sheet by either flipping a concave edge, removing a concave valence-3 vertex, or inserting a new vertex to split a tri. TetStreamer compresses the connectivity of the whole tet mesh to an average of about 1.7 bits per tet. The footprint (in-core memory required by the client) needs only to hold the evolving sheet, which is a small fraction of the storage that would be required by the entire tetmesh. Hence, TetStreamer permits to receive, decompress, and visualize or process very large meshes on clients with a small in-core memory. Furthermore, it permits to use volumetric visualization techniques, which require that the mesh be processed in viewdependent back-to-front order, at no extra memory, performance or transmission cost.