I♥Mesh: A DSL for Mesh Processing
Yong Li | Shoaib Kamil | Keenan Crane | Alec Jacobson | Yotam Gingold |
ACM Trans. Graph. (2024)
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},
}