Box3D's SAT collision algorithm gets faster with inscribed-sphere technique
A blog post by the Box3D physics engine developer details how the separating axis test (SAT), used to compute contact manifolds between convex polytopes, can become computationally expensive—up to O(N^3) in vertex count—largely due to edge-pair testing. The post outlines existing optimizations already in Box3D, including Gauss maps, SIMD edge-pair testing, feature caching, and contact recycling, before introducing an inscribed-sphere technique credited to Pierre Terdiman from 2011 as a further speed-up method.
GoKawiil's interpretation of the reporting above, not reported fact.
Physics engines like Box3D underpin real-time simulations in games and robotics, where collision detection speed directly affects how many objects a scene can handle smoothly. The developer's benchmark—the 'Convex Pile' test with many complex polytopes—suggests that even with multiple existing optimizations, SAT's edge-pair testing remains a bottleneck, indicating room for meaningful performance gains from newer techniques like inscribed spheres.
- SAT is used in Box3D instead of GJK because it handles overlapping and near-touching shapes more robustly and computes full contact manifolds at once.
- Existing Box3D optimizations include Gauss maps, SIMD-based edge-pair testing, feature caching, and contact recycling for motion under ~5cm.
- The developer is exploring an inscribed-sphere technique, attributed to Pierre Terdiman's 2011 idea, to further speed up SAT performance in dense polytope scenes.
Source: box2d.org, 2026-09-29
Published there as: “Speeding up the separating axis test using inscribed spheres”
Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.