Schmidtke Robert, Erleben Kenny
IEEE Trans Vis Comput Graph. 2018 Dec;24(12):3044-3057. doi: 10.1109/TVCG.2017.2784441. Epub 2017 Dec 18.
We present a novel approach to using Bounding Volume Hierarchies (BVHs) for collision detection of volumetric meshes for digital prototyping based on accurate simulation. In general, volumetric meshes contain more primitives than surface meshes, which in turn means larger BVHs. To manage these larger BVHs, we propose an algorithm for splitting meshes into smaller chunks with a limited-size BVH each. Limited-height BVHs make guided, all-pairs testing of two chunked meshes well-suited for GPU implementation. This is because the dynamically generated work during BVH traversal becomes bounded. Chunking is simple to implement compared to dynamic load balancing methods and can result in an overall two orders of magnitude speedup on GPUs. This indicates that dynamic load balancing may not be a well suited scheme for the GPU. The overall application timings showed that data transfers were not the bottleneck. Instead, the conversion to and from OpenCL friendly data structures was causing serious performance impediments. Still, a simple OpenMP acceleration of the conversion allowed the GPU solution to beat the CPU solution by 20 percent. We demonstrate our results using rigid and deformable body scenes of varying complexities on a variety of GPUs.
我们提出了一种新颖的方法,用于在基于精确模拟的数字样机中,使用包围体层次结构(BVH)对体网格进行碰撞检测。一般来说,体网格比表面网格包含更多的图元,这反过来意味着更大的BVH。为了管理这些更大的BVH,我们提出了一种算法,将网格分割成更小的块,每个块都有一个大小受限的BVH。有限高度的BVH使得对两个分块网格进行有引导的全对测试非常适合GPU实现。这是因为在BVH遍历期间动态生成的工作量变得有限。与动态负载平衡方法相比,分块实现简单,并且在GPU上可以实现整体两个数量级的加速。这表明动态负载平衡可能不是GPU适用的方案。整体应用计时表明,数据传输不是瓶颈。相反,与OpenCL友好数据结构之间的转换造成了严重的性能障碍。不过,对转换进行简单的OpenMP加速后,GPU解决方案比CPU解决方案快20%。我们在各种GPU上使用不同复杂度的刚体和可变形体场景展示了我们的结果。