From Nvidia PhysX features page “Available soom for PhysX-Ready GeForce Processors*” (yes their site had ‘soon’ spelled incorrectly). On that same page that star at the end is specified as “* Note: NVIDIA will deploy PhysX on CUDA-enabled GPUs” and a google on “CUDA-enabled GPUs” reveals that these are the GeForce 8000 series cards (for gamer cards, some of the expensive workstation cards are supported as well), which happens to be what I’ve got in my box at the moment.
PhysX does provide support for some physics that my current game mechanics could take advantage of. Problem is that hardware acceleration only comes into play if the user has a GeForce 8000 series card (with new drivers supporting CUDA) or an Ageia PhysX Accelerator. Now this may change as some more googling found an article stating:
Nvidia’s director of product PR for EMEA and India, Luciano Alibrandi, told Custom PC that ‘We are committed to an open PhysX platform that encourages innovation and participation,’ and added that Nvidia would be ‘open to talking with any GPU vendor about support for their architecture.’
Either way, it looks as though there’s hope for AMD / ATI getting a bite of the GPU PhysX pie after all; the guys at AMD just need to decide whether they want it.
That article was dated two months ago, and I can not currently locate any kind of announcement that AMD/ATI is planning to actually support PhysX.
The folks working on OpenGL 3.0 suddenly went dark after some months back after indicating they were getting pretty close to being done. There is speculation that this is because is somehow related to the trend towards doing more generalized processing on GPUs and putting GPU and CPU on the same chip. Definitely something for me to keep any eye on, but not something I need to jump on soon.
Update: Also I don’t think off-loading physics processing onto the GPU is necessarily going to result in better performance either. If your game is already fully utilizing either (or several of) the PCIe interface to the GPU, the GPU’s cycles, or the memory the video card just with rendering the graphics and your aren’t pegging the CPU at the same time then its pretty much a no brainer that physics processing should stay on the CPU. Now sure you could use still use the PhysX library on the CPU as well (assuming it doesn’t automatically start using GPU acceleration if available with now way to disable it), but one of the other physics libraries may be a better solution, or a custom solution may better if your game mechanics don’t line up well with any of the existing physics model.