pmp-library  1.0

The pmp-library is a modern C++ open-source library for digital geometry processing. It provides a set of geometric data structures frequently used in geometry processing tasks as well as implementations of canonical algorithms. It has been designed and implemented with a focus on ease of use and performance while maintaining high flexibility. In addition, it provides mesh viewers and visualization utilities based on OpenGL® as well as the possibility to compile the library into JavaScript using emscripten. The latter allows to run mesh processing applications directly in a browser, see here for a demo.

The User Guide describes how to quickly get started using the pmp-library, provides an overview of the library and its capabilities, a tutorial as well as guidelines for contributing patches or new code.

The Reference Documentation provides detailed information on the classes and functions provided by the pmp-library.

Checkout the GitHub Project to browse the source, get the latest development version, or to report any issues.


The pmp-library is provided under a flexible 3-clause BSD license, thereby allowing for both open-source and commercial usage.


If you are using the pmp-library for research projects, please acknowledge its use by referencing

  title  = {The Polygon Mesh Processing Library},
  author = {Daniel Sieger and Mario Botsch},
  note   = {},
  year   = {2019},

For references to specific algorithms implemented in the library check out the bibliography.

If you found the library to be useful for your projects, please drop us a line at and let us know what you are using it for.


The pmp-library evolved from the Surface_mesh data structure developed by the Bielefeld Graphics & Geometry Group, which in turn was originally derived from OpenMesh.