Remeshing

CPSC524 Computer Graphics: Modeling (Sep–Dec, 2007)

Back to Projects | Mushfiqur's Homepage

This remesher implements most part of the algorithm described in [1]. The optimization step is a bit simplified in this implementation. All computations are done in image space. For image generation and processing the GD library [2] is used (already included in the download below). All images are saved in gif format. For dithering the control image, Floyd-Steinberg dithering algorithm [3] is implemented. After dithering, a constrained 2D Delaunay Triangulation is applied with the help of Shewchuk's Triangle [4].

Downloads

The source code can be found here. It has been implemented as a module of Graphite [5]. GD and Shewchuk's Triangle are already incorporated in the module.

Instructions on installing/running the module can be found here.

Bug Fix

quick_start/commands/surface_quick_start_commands.cpp, on line 1153:
Change
for (i=0; i<newFacets.size(); i++)
to
for (i=1; i<newFacets.size(); i++)
since newFacets[0] is an unreferenced pointer.

Thanks to Zhang Muyang, lab of CAD&CG, Zhejiang University, China, for fixing the bug.

References

[1] [pdf] Alliez, P., Meyer, M. and Desbrun, M., "Interactive geometry remeshing", International Conference on Computer Graphics and Interactive Techniques 2002, pp 347 - 354, 2002.

[2] GD Image Processing Library, http://www.libgd.org/.

[3] http://en.wikipedia.org/wiki/Floyd-Steinberg_dithering.

[4] Shewchuk's Triangle, http://www.cs.cmu.edu/~quake/triangle.html.

[5] Graphite.