libigl
Institute of Visual Computing of ETH Zürich
Prof. Olga Sorkine-Hornung
Research topics
- interactive shape modeling and animation,
- digital geometry processing,
- digital fabrication,
- image and video processing
Publications
libigl - A C++ Geometry Processing Library
A simple C++ geometry processing library with wide functionality, including construction of sparse discrete differential geometry operators and finite-elements matrices such as the contangent Laplacian and diagonalized mass matrix, simple facet and edge-based topology data structures, mesh-viewing utilities for OpenGL and GLSL, and many core functions for matrix manipulation which make Eigen feel a lot more like MATLAB
What I like about it:
- header-only library, but supports external high-performance libraries
- Uses Eigen for matrices and linear algebra (another header-only library)
- Has a ton of useful, self-contained, and best of all, working tutorials!
In my experience, 99% of the effort in setting up the tutorials was performed by git and cmake. But compilation time takes a while (sometimes a drawback of header-only libraries), so I'll go through the setup process, but then I'll run demos from a precompiled version.
Tutorials to try:
- 106_ViewerMenu
- 201_Normals
- 202_GaussianCurvature
- 205_Laplacian
- 405_AsRigidAsPossible
- 605_Tetgen
- 707_SweptVolume
- Taking requests!
What you need (Windows):
- Git
- CMake
- Visual Studio 2017 Community (2015 should also work, but 64-bit is a must either way!)