libigl: Prototyping Geometry Processing Research in C++

Alec Jacobson, Daniele Panozzo

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Modern geometry processsing algorithms depend on an ever-growing toolbox of fundamental sub-routines and data structures. Prototyping from scratch requires much time building basic tools rather than focusing on the novel research idea. Many existing code libraries have unsatisfactory APIs and the time spent implementing sub-routines is often replaced with time spent learning complex, templated object hierarchies or memory layouts. Libigl is a C++ library of geometry processing algorithms designed for and by researchers. Its wide functionality includes construction of common sparse discrete differential geometry operators (such as the cotangent Laplacian), 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. Libigl places extreme importance on ease of use and experimentation. To this end, algorithms are directly exposed as functions taking simple matrix types as inputs and outputs. Libigl is a “header only”library and compiles on Windows, Mac, and Linux. In this course, we will walk through an introduction of libigl via readymade examples spanning the gamut of geometry processing applications and tasks. Attendees will be able to follow along on their laptops. We will explain the core functionality of libigl, how to piece together complex algorithms from library functions, and how to interface to libigl from Python and MATLAB. We will highlight some of libigl’s most powerul features: including mesh booleans, quad remeshing, parameterization, and shape deformation. We will conclude with live coding sessions demonstrating libigl’s effectiveness and ease-of-use.

Original languageEnglish (US)
Title of host publicationSIGGRAPH Asia 2017 Courses, SA 2017
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450354035
DOIs
StatePublished - Nov 27 2017
EventSIGGRAPH Asia 2017 Courses, SA 2017 - Bangkok, Thailand
Duration: Nov 27 2017Nov 30 2017

Publication series

NameSIGGRAPH Asia 2017 Courses, SA 2017
Volume2017-January

Conference

ConferenceSIGGRAPH Asia 2017 Courses, SA 2017
Country/TerritoryThailand
CityBangkok
Period11/27/1711/30/17

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Computer Vision and Pattern Recognition

Fingerprint

Dive into the research topics of 'libigl: Prototyping Geometry Processing Research in C++'. Together they form a unique fingerprint.

Cite this