Thinking Parallel, Part I: Collision Detection on the GPU (2012)
devblogs.nvidia.com
devblogs.nvidia.com
Fine collision detection can also be done incrementally. Incremental GJK is a good approach. Here's Steven Cameron's paper on that.[2]
I wrote one of those once in C++, using the ordered bounding box approach from Lin and the incremental GJK approach from Cameron, plus some new stuff to guarantee continuity as objects moved. It turns out that incremental GJK has some serious floating point loss of significance problems as faces approach parallel. When you build a physics engine this way, the near-parallel case gets explored very thoroughly as objects settle. Turns out you need a 64-bit FPU. This was a problem on some consoles, and is still a problem on some GPUs.
[1] https://www.cs.jhu.edu/~cohen/Publications/icollide.pdf [2] https://graphics.stanford.edu/courses/cs468-01-fall/Papers/c...
https://blogs.unity3d.com/2014/07/08/high-performance-physic...
Can I use an NVIDIA GPU as a PhysX processor and a non-NVIDIA GPU for regular display graphics?
No. There are multiple technical connections between PhysX processing and graphics that require tight collaboration between the two technologies. To deliver a good experience for users, NVIDIA PhysX technology has been fully verified and enabled using only NVIDIA GPUs for graphics.
http://www.nvidia.ca/object/physx_faq.htmlEDIT: I'm talking about game development
Some games (many actually) are using gpu accelerated particles, but they're pretty much purely for rendering.
Remember that frame times are super tight on games (16 and 33 ms per frame for 60 and 30 FPS respectively), and consoles are notoriously underpowered.
Working in games, none of my colleagues or companies we work with have much interest in offloading physics to the GPU at the expense of rendering performance.