Download as: MP4 [17 MB]
Download as: MP4 [20 MB]
Download as:
@article{li2024iheartmesh, author = {Li, Yong and Kamil, Shoaib and Crane, Keenan and Jacobson, Alec and Gingold, Yotam}, title = {{I Heart MESH}: {A} {DSL} for Mesh Processing}, journal = {ACM Trans. Graph.}, year = {2024}, month = {oct}, volume = {43}, number = {5}, articleno = {154}, numpages = {17}, doi = {10.1145/3662181}, issn = {0730-0301}, keywords = {Meshes, geometry processing, domain-specific language}, abstract = {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 Heart 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 backend. In particular, by integrating I Heart MESH with the linear algebra features of the I Heart 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.}, }See also the publisher (ACM) web page.