This library provides 3d collision detection primitives, bounding volumes and collision detection algorithms using glam.
If you need 2d collision detection check out bam2d
The library provides:
- a generic ray:
Ray
- a plane type:
Plane
- a view frustum:
Frustum
- axis-aligned bounding boxes:
Aabb3
- oriented bounding boxes:
Obb3
- additional bounding volumes:
Sphere
,Cylinder
- collision primitives:
Sphere
,Circle
,Rectangle
,Cuboid
,Particle
,Convex Polygon
,Convex Polyhedra
- a dynamic bounding volume tree (
DBVT
) - broad phase collision detection:
Sweep and Prune
- discrete narrow phase collision detection:
GJK
(includingEPA
for manifold computation) - continuous narrow phase collision detection:
GJK
- convex shape distance computation:
GJK
Right now the docs are probably are all there is. I'll hopefully be able to add some examples soontm.
This started as a port of the excellent cgmath based collision library. If you or your dependency tree already use cgmath then it could be an excellent option.