Scalable and Conservative Continuous Collision Detection for Parallel Architectures


引用 0|浏览10
We introduce an algorithm for continuous collision detection (CCD) for linearized trajectories designed to be scalable on modern parallel architectures and provably correct when implemented using floating point arithmetic. We employ a classical two-phase approach, with a broad-phase CCD to quickly filter out primitives having disjoint bounding boxes, and a narrow-phase CCD that establishes whether the remaining primitive pairs actually collide. Our broad-phase algorithm is efficient and scalable thanks to the experimental observation that sweeping along a coordinate axis performs surprisingly well on modern parallel architectures. For narrow-phase CCD, we re-design the recently proposed interval-based algorithm of [Wang 2021] to work on massively parallel hardware. To evaluate the correctness, scalability, and overall performance of our approach, we introduce a large scale benchmark for broad- and narrow-phase CCD with exact times of impact, and compare our approach with several state-of-the-art methods. We integrate our algorithm with the IPC contact solver, and evaluate its impact on challenging simulation scenarios. We release the dataset with analytic ground truth, the implementation of all the algorithms tested, our testing framework, and a reference CPU and GPU implementation of our algorithm as an open source project to foster adoption and development of linear CCD algorithms.
AI 理解论文