Keenan Crane
CARNEGIE MELLON UNIVERSITY
Subgrid Marching Tetrahedra
ACM Transactions on Graphics 2026
Hossein Baktash Mark Gillespie Keenan Crane
Carnegie Mellon University Inria / University of Utah Carnegie Mellon University / Roblox
teaser
We describe a method for recovering a manifold, intersection-free triangle mesh from the points where edges of a tetrahedral grid pierce a continuous surface. Unlike classic marching cubes or tets, our subgrid marching scheme allows arbitrarily many surface patches within a single cell, capturing fine features and thin sheets. Moreover, it requires neither a well-defined inside/outside (allowing surfaces with boundary), nor consistently-oriented input geometry. Yet we retain the local, parallel nature of classic marching: reconstruction is performed independently per tet, yielding a conforming mesh across tet boundaries. Our key innovation is a generalization of normal coordinates from geometric topology, which encode surface connectivity via arbitrary integer intersection counts along each grid edge. This encoding sidesteps the usual Nyquist–Shannon limit, putting no lower bound on the size of features that can be resolved on a fixed grid. In practice, for similar compute time and equal grid resolution—or even an equal number of output triangles—meshes produced by subgrid marching are far more accurate than those from classic marching. Beyond standard contouring, our method can be used to convert polygon soup into a manifold, intersection-free mesh.
preview
PDF (12MB)
Supplemental
Supplemental Material (PDF, 3.4MB) — Includes more exhaustive tables of spanning surfaces constructed within a single tetrahedron, up to a maximum intersection count. (Note that tables like these can be exported using the example code.) Also includes additional statistics on empirical scaling/performance.
C—single-header implementation our reconstruction algorithm for a single tetrahedron, in strict C99/C11 compatible C code. Also includes a minimal example and command-line tool.
HTML/JavaScript—web-based visualizer and JavaScript implementation of the same single-tet reconstruction algorithm. Manipulate the edge/normal coordinates interactively.
This work was funded by the National Science Foundation under awards 2212290 and 2504890. The authors wish to thank Dave Bachman, Saul Schleimer, and Eric Sedgwick for helpful conversations. The soap film image in Figure 5 was generated by Nano Banana Pro, conditioned on a render of a discrete minimal surface. The marble track model in Figure 17 is designed by Tulio Laanen, and the vase model in Figure 29 by Hiroaki Nishimura.
Figures
figure
Our subgrid method reconstructs geometry from arbitrarily many intersection points along each edge. As a result, it can capture features that are missed entirely by traditional marching algorithms.
figure
Left: Classic marching relies on an implicit function to classify grid nodes as inside/outside, making it impossible to capture open curves (2D) or surfaces with boundary (3D). Moreover, using interpolated nodal values to estimate intersection locations leads to errors in the geometric approximation. Right: Subgrid marching avoids both of these issues by reconstructing geometry directly from edge-surface intersection points.
figure
Examples of surfaces reconstructed from edge intersections. Classic marching tetrahedra considers at most one intersection per edge (far left), whereas we define connectivity for arbitrary patterns of edge intersections of increasing complexity (left to right). See supplement for more comprehensive tables.
figure
A core piece of our method is an algorithm for filling a curve on a tet boundary with an interpolating surface—analogous to a minimal-area soap bubble formed by a closed loop of wire.
figure
Our method is a drop-in replacement for standard marching: when exact intersections are unavailable, we can still perform 1D marching along grid edges (left). This approach retains the robustness of subgrid contouring (e.g., capturing thin sheets) while asymptotically reducing the number of samples relative to regular grid refinement in dimension d (right).
figure
Comparison of isosurfacing methods on two closed-form SDFs, rendered directly at far left via sphere tracing. Our subgrid method is able to preserve thin features like the sheet music and piano keys on the top row, or the woven cables on the bottom row, which are lost or broken by classic marching methods (both primal and dual).
figure
Even at very low resolutions, our subgrid approach better preserves surface topology—which can have a profound impact on visual fidelity.
figure
Subgrid marching outperforms classic marching, independent of how we quantify the difference. Here for instance we achieve better approximation of the ground truth surface at the same grid resolution (top left), the same number of input queries (top center), and the same number of output triangles (top right). Error is measured via chamfer distance, relative to ground truth. Bottom: The output of subgrid MT on a 1803 grid has, in this case, comparable error to classic MT on a 5003 grid.
figure
Beyond geometric accuracy, resolving fine topological features is essential for capturing object semantics. Here, for instance, even at the coarsest resolution of 503, our subgrid method makes it clear that this coral reef contains leafy foliose coral (outlined in white), whereas classic marching tets conveys only the bulk distribution of this reef.
figure
In this complex jet engine model, even a resolution of 5003 is insufficient for classic marching tets to capture all the small topological features. In contrast, the subgrid methods immediately capture most small details (at 1003 resolution), and largely just improve their geometry as resolution increases.
figure
The subgrid approach can also be applied on a triangular grid in 2D, using the same per-triangle procedure used to construct curve segments on a tetrahedron boundary. As in the 3D case, subgrid accuracy resolves complex geometry missed by ordinary marching triangles.