Box3D Uses Wide SIMD to Accelerate 3D Collision Detection
Original: SIMD for Collision
Why This Matters
Wide SIMD in SAT collision unlocks significant real-time physics performance gains for complex 3D rigid body simulations.
Box3D physics engine author Erin Catto published a technical post on July 18, 2026, detailing the use of wide SIMD to accelerate SAT-based collision detection for complex convex hulls. A benchmark with 5,120 32-vertex convex hulls revealed that edge-edge tests generate up to 7,921 combinations, making SIMD optimization critical.
Erin Catto, creator of Box2D and Box3D, published a technical deep-dive explaining how wide SIMD is applied to 3D collision detection in Box3D. The post focuses on the Separating Axis Test (SAT), which Box3D uses in place of GJK/EPA algorithms, citing SAT's advantage of requiring no collision margin and avoiding visual gaps between resting shapes.
The key challenge is SAT's quadratic complexity in 3D. For two convex hulls, the algorithm must evaluate face-vertex, vertex-face, and edge-edge combinations. For a simple box, edge-edge tests number 144 combinations. For a complex 32-vertex 'boulder' hull with 89 edges, that rises to 7,921 combinations per pair.
To address this, Catto applies 'wide SIMD' — processing one edge from hull A against four edges from hull B simultaneously using SIMD intrinsics and structure-of-arrays (SoA) data layout. This contrasts with 'narrow SIMD,' which packs a single 3D vector into a register and offers less predictable gains. The approach mirrors techniques previously applied to Box3D's contact solver via graph coloring. Full benchmark results are referenced in the original post on box2d.org.