SIMD for Collision
8 hours ago
- 作者通过同时处理多个边-边测试,将“宽SIMD”应用于碰撞检测,类似于先前在接触求解器上的工作。
- “宽SIMD”一次处理多个工作单元(如4条边),与“窄SIMD”不同,后者对单个3向量操作进行向量化。
- 三维凸包碰撞的分隔轴测试(SAT)具有二次复杂度,尤其是对于复杂凸包占主导地位的边-边测试。
- 对于具有许多边(例如,一块巨石凸包中有89条边)的情况,使用SSE2的SIMD在完整模拟中获得了超过2倍的速度提升。
- 该优化主要受益于复杂凸包;对箱体-箱体碰撞的效果微不足道。
- Box3D使用SAT而不是GJK+EPA,避免了碰撞容差和数值不稳定性。