I♥Mesh: A DSL for Mesh Processing
Yong LiShoaib KamilKeenan CraneAlec JacobsonYotam Gingold
ACM Trans. Graph. (2024)
teaser

Mesh processing algorithms are often communicated via concise mathematical notation (e.g., summation over mesh neighborhoods). However, conversion of notation into working code remains a time consuming and error-prone process which requires arcane knowledge of low-level data structures and libraries—impeding rapid exploration of high-level algorithms. We address this problem by introducing a domain-specific language (DSL) for mesh processing called I❤️Mesh, which resembles notation commonly used in visual and geometric computing, and automates the process of converting notation into code. The centerpiece of our language is a flexible notation for specifying and manipulating neighborhoods of a cell complex, internally represented via standard operations on sparse boundary matrices. This layered design enables natural expression of algorithms while minimizing demands on a code generation back-end. In particular, by integrating I❤️Mesh with the linear algebra features of the I❤️LA DSL, and adding support for automatic differentiation, we can rapidly implement a rich variety of algorithms on point clouds, surface meshes, and volume meshes.

Yong Li, Shoaib Kamil, Keenan Crane, Alec Jacobson, Yotam Gingold (2024). I♥Mesh: A DSL for Mesh Processing. ACM Trans. Graph., 43(6).

@article{Li:2024:IHM,
author = {Yong Li and Shoaib Kamil and Keenan Crane and Alec Jacobson and Yotam Gingold},
title = {I♥Mesh: A DSL for Mesh Processing},
journal = {ACM Trans. Graph.},
volume = {43},
number = {6},
year = {2024},
publisher = {ACM},
address = {New York, NY, USA},
}