libigl

libigl

Swiss Federal Institute of Technology in Zurich, Switzerland

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

lse

silsketch

arap

stb

And many more...

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

Github / Tutorial

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):