About MEPP2


MEPP2 is an open-source C++ software development kit (SDK) for processing and visualizing 3D surface meshes and point clouds. It provides both an application programming interface (API) for creating new processing filters and a graphical user interface (GUI) that facilitates the integration of new filters as plugins. Static and dynamic 3D meshes and point clouds with appearance-related attributes (color, texture information, normal) are supported.

The strength of the platform is to be generic programming oriented. It offers an abstraction layer, based on C++ Concepts, that provides interoperability over several third party mesh and point cloud data structures, such as OpenMesh, CGAL, and PCL. Generic code can be run on all data structures implementing the required concepts, which allows for performance and memory footprint comparison. Our platform also permits to create complex processing pipelines gathering idiosyncratic functionalities of the different libraries.

MEPP2 runs on Windows, Linux & Mac OS X and is intended for engineers, researchers, but also students thanks to simple use, facilitated by the proposed architecture and extensive documentation.


Characteristics: C++, open-source, multi-plateform (Windows, Linux, Mac OS X), compilation with CMake, quick and easy installation thanks to extensive documentation.

Rendering: the GUI integrates several shaders such as Blinn-Phong and Cook-Torrance (for physical based rendering). It can render both static (and dynamic) 3D surface meshes, with color attributes, texture informations and normals or point clouds with color attributes and normals.

Data structures: MEPP2 is generic programming oriented. It offers an abstraction layer that provides interoperability over several third party data structures: OpenMesh, CGAL Surface Mesh, CGAL Polyhedral Surface, CGAL Linear Cell Complex, CGAL Point Set, PCL (Point Cloud Library) and AIF (Adjacency and Incidence Framework).

Installation and developer documentation is available here.