Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pmp-library/pmp-library
The Polygon Mesh Processing Library
https://github.com/pmp-library/pmp-library
c-plus-plus curvature geodesic-distances geometry-processing hole-filling-algorithm mesh-processing mesh-simplification parameterization polygon-mesh remeshing smoothing subdivision surface-mesh triangle-mesh triangulation
Last synced: 25 days ago
JSON representation
The Polygon Mesh Processing Library
- Host: GitHub
- URL: https://github.com/pmp-library/pmp-library
- Owner: pmp-library
- License: other
- Created: 2017-09-30T14:11:00.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-09-08T19:34:59.000Z (2 months ago)
- Last Synced: 2024-10-01T17:41:33.376Z (about 1 month ago)
- Topics: c-plus-plus, curvature, geodesic-distances, geometry-processing, hole-filling-algorithm, mesh-processing, mesh-simplification, parameterization, polygon-mesh, remeshing, smoothing, subdivision, surface-mesh, triangle-mesh, triangulation
- Language: C++
- Homepage: https://www.pmp-library.org
- Size: 22.3 MB
- Stars: 1,300
- Watchers: 38
- Forks: 166
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing.md
- License: LICENSE.txt
- Code of conduct: docs/code_of_conduct.md
- Citation: CITATION.cff
Awesome Lists containing this project
- awesome-game-engine-dev - Polygon Mesh Processing Library - Processing / visualizing polygon surface meshes. (Libraries / C++)
- AwesomeCppGameDev - pmp-library
README
# Introduction
[![build](https://github.com/pmp-library/pmp-library/workflows/build/badge.svg)](https://github.com/pmp-library/pmp-library/actions?query=workflow%3Abuild)
[![Coverage Status](https://coveralls.io/repos/github/pmp-library/pmp-library/badge.svg?branch=master)](https://coveralls.io/github/pmp-library/pmp-library?branch=main)
[![Latest Release](https://img.shields.io/github/v/release/pmp-library/pmp-library?sort=semver)](https://github.com/pmp-library/pmp-library/releases/latest)
[![DOI](https://zenodo.org/badge/105374301.svg)](https://zenodo.org/doi/10.5281/zenodo.10866531)The Polygon Mesh Processing Library is a modern C++ open-source library for processing and visualizing polygon surface meshes. Its main features are:
- An efficient and easy-to-use mesh data structure
- Standard algorithms such as decimation, remeshing, subdivision, or smoothing
- Ready-to-use visualization tools
- Seamless cross-compilation to JavaScript ([demo](https://www.pmp-library.org/demos/mpview.html))## Get Started
Clone the repository:
```sh
git clone https://github.com/pmp-library/pmp-library.git
```Configure and build:
```sh
cd pmp-library && mkdir build && cd build && cmake .. && make
```Run the mesh processing app:
```sh
./mpview ../data/off/bunny.off
```Build your own tool:
```cpp
#include
#includeint main()
{
pmp::SurfaceMesh mesh;
pmp::read(mesh,"input.obj");
// .. do awesome things with your mesh
pmp::write(mesh,"output.obj");
}
```## Read the Docs
The [user guide](https://www.pmp-library.org/guide.html) contains all you need to get started using PMP, including a [tutorial](https://www.pmp-library.org/tutorial.html) covering mesh processing basics.
## Contribute
Contributions to PMP are welcome! There are many ways you can help: Report any [issues](https://github.com/pmp-library/pmp-library/issues) you find, help to improve the documentation, join our [discussions](https://github.com/pmp-library/pmp-library/discussions) forum, or [contribute](https://www.pmp-library.org/contributing.html) new code.
## Acknowledge
If you are using PMP for research projects, please acknowledge its use by referencing
```tex
@software{pmp23,
author = {Sieger, Daniel and Botsch, Mario},
title = {{The Polygon Mesh Processing Library}},
year = {2023},
month = aug,
version = {3.0.0},
doi = {10.5281/zenodo.10866532},
url = {https://github.com/pmp-library/pmp-library}
}
```We acknowledge that PMP evolved from our previous work on [Surface_mesh](http://dx.doi.org/10.1007/978-3-642-24734-7_29) and [OpenMesh](https://pub.uni-bielefeld.de/record/1961694).
## License
PMP is provided under a simple and flexible MIT-style [license](https://github.com/pmp-library/pmp-library/blob/master/LICENSE.txt) allowing for both open-source and commercial usage.