TrueForm enables real-time geometric operations on million-polygon meshes. On a pair of 1M-polygon meshes, boolean union completes in 32ms and intersection curve extraction in 11ms. Try it live in your browser →
These benchmarks quantify performance against established libraries across spatial indexing, topology analysis, intersection computation, and mesh cutting.
| Property | Value |
|---|---|
| CPU | Apple M4 Max (12P + 4E cores) |
| Memory | 64 GB |
| Compiler | Clang with -O3 -march=native |
| Test Data | Stanford Dragon, 58K–1M polygons (contains non-manifold flaps) |
| Sampling | 10–1000 evaluations per configuration |
Construction benchmarks use 10 runs; query benchmarks use 1000. All libraries use parallel execution where available. Reported times are mean wall-clock measurements. Source code →
Results at 1M polygons:
| Operation | Input | Time | Speedup | Baseline | TrueForm |
|---|---|---|---|---|---|
| Boolean Union | 2 × 1M | 32 ms | 76× | CGAL Simple_cartesian<double> | reduction diagrams, double |
| Mesh–Mesh Curves | 2 × 1M | 11 ms | 150× | CGAL Simple_cartesian<double> | reduction diagrams, double |
| Self-Intersection | 2 × 1M | 179 ms | 35× | libigl EPECK (GMP/MPFR) | reduction diagrams, double |
| Isocontours | 1M, 16 cuts | 4.2 ms | 40× | VTK vtkContourFilter | reduction diagrams, float |
| Connected Components | 1M | 16 ms | 11× | CGAL | parallel union-find |
| Boundary Paths | 1M | 12 ms | 12× | CGAL | Hierholzer's algorithm |
| k-NN Query | 500K | 1.7 µs | 3× | nanoflann k-d tree | AABB tree |
| Mesh–Mesh Distance | 2 × 1M | 0.2 ms | 2× | FCL OBBRSS<double> | OBBRSS tree |
Explore full benchmark charts and scaling analysis for each module:
brew install boost gmp mpfr libccd tbb
cmake -B build -DBUILD_BENCHMARKS=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --target benchmarks
./build/run-benchmarks
Results are written to build/results/. Use consolidate_results.py to merge per-library CSVs.