6 releases
Uses new Rust 2024
| 0.3.2 | Sep 13, 2025 |
|---|---|
| 0.3.1 | Jul 19, 2025 |
| 0.2.4 | Jul 2, 2025 |
| 0.2.3 | Jun 28, 2025 |
#137 in Simulation
26KB
650 lines
thimni
a library for SDF collision
the core (and most likely novel) algorithm provides efficient SDF collision, whose memory usage does not scale with complexity of SDFs, by exploiting isotropy of hyperspheres
performance
benchmarked on i7-7700HQ
| benchmark | average speed |
|---|---|
| 1000 random spheres colliding | 5 milliseconds |
| 100 random menger sponges colliding | 100 milliseconds |
features
- can use any vector type implementing the Vector trait, with implementations for glam::Vec2 and glam::Vec3 provided
- SDFs treated as black boxes (i.e. anything that takes a position, returns a number, and can be bounded by an AABB, can implement the SDF trait)
- arbitrarily combined SDFs
- binary collision between arbitrary SDFs of the same dimension
- monte carlo penertration depth approximation
- raycasting
the core algorithm
this devlog contains details on how the core algorithm works
DEMO
this devlog contains a link to a demo i made for this algorithm, consisting of a destructable fractal and a capsule representing the player.
Dependencies
~7MB
~202K SLoC