2

有很多关于碰撞检测的文献,我已经阅读了至少足够多的部分,以便对大多数技术相当熟悉。但是,有一些事情一直困扰着我,我想,既然 StackOverflow 可以同时访问一大群聪明的头脑,我会先在这里问一下,然后再在书架上四处寻找。

在这个时代,越来越多的工作被委派给 GPU 而不是 CPU,在很多情况下这是一件好事。例如,有几何着色器可以创建新的几何图形,或者(稍微不那么新,但仍然很吸引人)顶点着色器,您可以通过一堆顶点访问它们,并且会从中产生一些优雅的东西。不过我正在考虑的是,由于这些原语仅存在于图形硬件上,您将如何使用这些原语执行可靠的碰撞检测?假设我有某种极其简化的网格,它在顶点着色器中被置换(我没有具体问题,我更喜欢这个想法,而且我还没有深入了解几何着色器)。

到目前为止,我考虑的是从合适的角度单独的“渲染”通道,或多或少地关闭阴影,也许是较低分辨率的网格,渲染我的第二个基元的内部(面向内翻转)以及我想要的网格针对网格进行测试并执行遮挡查询。如果网格完全被遮挡,则不会有交集。这当然需要我的第二个原语是凸的。

不知何故,我觉得随着基元数量的增加,这种测试将非常昂贵(即使可以直接剔除大部分)。还有其他人有其他想法或技术吗?我对opengl和cg比directx更熟悉,但是如果你在directx中有一些例子,我想我可以找出opengl对应的部分。

感谢所有想法,所以请集思广益。:)

4

1 回答 1

2

听起来 Dan Horn 在GPU Gems 2中的文章“GPGPU 应用程序的流减少操作”正是您想要的。像所有章节一样,它可以在线免费获得。

于 2009-01-18T18:06:51.673 回答