thimni 0.3.4

efficient SDF collision without discretizatio, neural nets, or interval arithmetic
Documentation

thimni

crates.io Docs

a library for SDF collision

the core algorithm provides efficient SDF collision, whose memory usage does not scale with complexity of SDFs, by exploiting isotropy of hyperspheres

performance

benchmarked on Ryzen 7 2700

benchmark average speed
1000 random spheres 5.5 milliseconds
100 random menger sponges in a sphere with radius 10 1.43 milliiseconds

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
  • penetration depth approximation
  • raycasting

the core algorithm

this devlog contains details on how the 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.