有很多关于碰撞检测的文献,我至少阅读了足够大部分内容来熟悉大多数技术。然而,有一段时间我已经找不到了,我想,由于StackOverflow可以同时访问一大群聪明的头脑,所以我先问这里,然后再在书架上挖掘。
在这个时代,越来越多的工作被委托给GPU而不是CPU,在很多情况下,这是一件好事。例如,有几何着色器可以创建新的几何体,或者(稍微不那么新,但仍然非常迷人)顶点着色器,您可以通过它们在一堆顶点处,并且优雅的东西会从中出现。我考虑的是,因为这些原语仅存在于图形硬件上,您如何使用这些原语执行可靠的碰撞检测?让我们假设我有一种非常简化的网格,它在顶点着色器中移位(我没有具体问题,我更喜欢这个想法,我还没有深入到几何着色器中)。
我到目前为止所考虑的是从适当的角度单独'渲染'传递,阴影或多或少关闭,也许是较低分辨率的网格,渲染我的第二个基元的内部(面向内翻转)以及网格我想测试并执行网格的遮挡查询。如果网格完全被遮挡,则没有交叉点。这当然要求我的第二个原语是凸的。
不知怎的,我觉得这种测试会因为基元数量的增加而非常昂贵(即使很大一部分可以直接剔除)。还有其他人有其他想法或技术吗?我对opengl和cg比对directx更熟悉,但如果你在directx中有一些左右的例子,我想我将能够找出opengl对应物。
所有的想法都受到赞赏,所以请集思广益。 :)