#octree #mesh #graphics #isosurface #marching-cubes

sampled-dmc

An implementation of Dual Marching Cubes (DMC) for already sampled data

3 releases

0.1.2 Apr 3, 2021
0.1.1 Apr 1, 2021
0.1.0 Apr 1, 2021

#684 in Graphics APIs

MIT license

49KB
750 lines

Sampled DMC

This crate defines a fast implementation for the Dual Marching Cubes technique, also known as Linear Hashed Marching Cubes, along with a concurrent octree structure for storing node data.

Unlike isosurface, this crate does NOT expect Signed Distance Functions (SDFs) or use them in any way. The input of the mesh creation functions is the data octree itself, not a sampling source, which makes it appropiate for situations where storing the sampled points is appropiate (i.e. complex SDFs, destructible environments or objects with different LODs).

TODO

  • Allow for inputting a "LOD function" which determines how detailed each point should be (as in how deep into the octree it should go)
  • Add benchmarks

lib.rs:

Dual Marching Cubes implementation for octree structures

Dependencies

~2.5MB
~47K SLoC