Version 1.2 Released!15 Mar 2020
We are proud to announce the release of version 1.2 of the Polygon Mesh Processing Library! This minor release includes a couple of new features, enhancements, bug fixes, and updates to third-party libraries. Highlights include:
- Improved rendering of general polygons, avoiding erroneous tessellation into overlapping/flipped triangles in case of non-convex polygons.
- Added support for rendering using matcaps.
- Eigen interoperability: Matrix and vector classes can now be assigned and cast from Eigen matrices and vectors.
- Matrix and vector classes can now be constructed using initializer lists.
You can find a full summary of changes in the changelog.
The new matcap rendering is demonstrated in our mesh viewer application.
now takes an optional
-m argument specifying the matcap to be used. We
included several example files in the
pmp-data repository. See below for
an example using the following command line:
./mview -m ../external/pmp-data/matcap/metal_shiny.jpg ../external/pmp-data/off/bunny.off
Improved Polygon Rendering
The improved polygon rendering is demonstrated best by an example. Before the improvements the rendering of a mesh containing non-convex polygons could lead to undesirable overlapping/flipped triangles:
The improved version now renders the same mesh correctly:
This release also improves interoperability with the Eigen library. We added support to construct/assign pmp::Matrix and pmp::Vector classes from Eigen as well as support to cast the pmp::Matrix and pmp::Vector class to Eigen. Example for construction:
// construction from Eigen Eigen::Vector3d eigenVec(1.0, 2.0, 3.0); pmp::dvec3 pmpVec = eigenVec;
Example for assignment:
// assignment from Eigen Eigen::Vector3d eigenVec(1.0, 2.0, 3.0); pmp::dvec3 pmpVec; pmpVec = eigenVec;
Example for cast:
// cast to Eigen pmp::vec3 pmpVec(1.0, 2.0, 3.0); Eigen::Vector3f eigenVec = static_cast<Eigen::Vector3f>(pmpVec);
Obtaining the pmp-library
Get your own copy by cloning:
git clone --recursive https://github.com/pmp-library/pmp-library.git
Checkout the 1.2 release tag:
cd pmp-library && git checkout 1.2.0
Configure and build:
mkdir build && cd build && cmake .. && make
Run the mesh processing app
Reporting Bugs or Problems
If you encounter any glitches or problems please report the issue on our GitHub issue tracker.