Site hosted by Angelfire.com: Build your free website today!
 

Edgebreaker 3D Compression Algorithm Packaged...

Author: Dinesh Shikhare ()

Introduction:

Prof. Jarek Rossignac and his team have released a nice implementation of Edgebreaker triangle mesh compression algorithm. It is available for download on his homepage.

The code posted on Prof. Rossignac's homepage can handle compression of meshes representing manifolds or manifolds with a single boundary. Also, the original compression code reads in uncompressed mesh only from OVTable format and the uncompression code writes the mesh back in OVTable format. I found this very limiting for my work. Hence I extended their code by developing pre-processing and post-processing filters to make it more useful for my experiments.

I believe others too can utilize these extensions for their work, and hence I'm releasing my version of Edgebreaker which wraps original code released by Prof. Rossignac's team. In case you find this extension useful, feel free to use it in your programs and modify it as per your needs. Also, give me some feedback ().

Download:

My code has been developed on Linux platform using g++ compiler. I have not yet tried to compile it on Windows. Will do so when I find time (volunteers are welcome :-).

Source code and sample data: eb.tgz

Future plans include extending this code to handle more general situations like non-manifold geometry, handling mesh attributes like colour, texture and a more refined API for the use of Edgebreaker and other compression schemes. Also, on the anvil is a lossy compression format that will quantize the prediction errors of coordinate values, colour and other attributes.

The original code and documentation from Prof. Rossignac are posted here.

Implementation Notes:

The extended code does the following tasks:

Compression Module:

Decompression Module:

Miscellaneous:


Acknowledgement:
The geometry compression part of this solution/product was derived from, or inspired by, the Edgebreaker compression technique and software developed by Prof. Rossignac and his colleagues in the College of Computing at the Georgia Institute of Technology.