a48  2.0.2
M4G: Manifolds for GPUs repositories

The M4G library contains a set of applications related to the a48 library, but with external dependancies. Each application can be downloaded from the same git repository using the following commands:

$ git clone git://gitorious.impa.br/m4g/simplify.git

$ git clone git://gitorious.impa.br/m4g/matching.git

$ git clone git://gitorious.impa.br/m4g/geodesic.git

$ git clone git://gitorious.impa.br/m4g/parameterize.git

$ git clone git://gitorious.impa.br/m4g/samplify.git

These five repositories host five different applications constructed to support a manifold-based representation of a mesh on the GPU. The first is called simplify and contains a command-line software to expose [CGAL]'s simplification process (see CGAL in References) to build base meshes from dense-polygon meshes. The second is called matching and uses [Lemon] (see Lemon in References) to implement a triangular-to-quadrangular application based on a 2-matching graph-based algorithm [Daniels:2011] on the triangular mesh dual. Two other algorithms for triangular-to-quadrangular conversion [Tarini:2010,Velho:2001] can be used from the tri2quad application in the main a48 repository. These three tri2quad conversion algorithms were carefully implemented and return better and correct results where [MeshLab] (see MeshLab in References) fails.

The next repository is called geodesic and contains another command-line software to expose geodesic curves computation [Geodesic] using the implementation made available with the Fast exact and approximate geodesics on meshes algorithm [Surazhsky:2005]. Each geodesic is computed in parallel (using as many CPU cores as available) over a dense mesh connecting vertices of each corresponding base-mesh edge. The fourth repository is called parameterize and uses [CGAL] to unveil several local parameterization algorithms with different border types. The last application repository is called samplify and uses [OpenGL] (see OpenGL in References) to rasterize a surface patch generating a regularly sampled chart from a parameter domain.

The repositories of the M4G library are separate on purpose to facilitate its different usages. Each repository is a module with its own dependancies, making it easier for a subset utilization (e.g. an input triangular mesh enhanced with stellar operations and tri2quad functions can be used to develop a new simplification process not possible using only [CGAL]). All repositories have user instructions (in a read-me file) with simple usage examples and sample models.

m4g.png
M4G library overview: (top) the classes and policies to manipulate and represent a meshed surface; (bottom) the applications toward a GPU-based geometric system.
 All Classes Namespaces Files Functions Typedefs