12 releases (6 breaking)
0.7.1 | Sep 23, 2021 |
---|---|
0.7.0 | Jun 14, 2021 |
0.6.0 | Mar 21, 2021 |
0.5.0 | Feb 8, 2021 |
0.1.0 | Oct 26, 2020 |
#1807 in Algorithms
44 downloads per month
Used in 6 crates
365KB
9K
SLoC
Various types of storage and indexing for voxels in 2 or 3 dimensions.
If you need to store signed distance values in your voxels, consider using the Sd8
and Sd16
fixed-precision types which
implement the SignedDistance
trait required for smooth meshing.
The core storage types are:
- Array: N-dimensional, single resolution, bounded, dense array
- ChunkMap: N-dimensional, multiple resolution, unbounded, sparse array
- Backed by generic chunk storage, with
HashMap
orCompressibleChunkStorage
implementations
- Backed by generic chunk storage, with
Then there are "meta" lattice maps that provide some extra utility:
- TransformMap: a wrapper of any kind of lattice map that performs an arbitrary transformation
- Func: some lattice map traits are implemented for closures (like SDFs)
For hierarchical indexing and level of detail:
- OctreeSet: bounded bitset of points
- ChunkedOctreeSet: unbounded bitset of points
- OctreeChunkIndex: just a
ChunkedOctreeSet
that tracks chunks and provides clipmap functionality
Dependencies
~2.2–4.5MB
~85K SLoC