Hardware accellerated physics?

Hi guys, I was wondering which of the 3 physics engine officially supported by panda3d, uses hardware acceleration for calculations.
In the reference manual I have not found the explanation on this point.
I think that physx is the best for that reason, but unfortunately it is not officially supported, right?

Thanks in advance for your explanations.

We do officially support PhysX, but I believe it only supports acceleration on Windows platforms.

We also provide support for Bullet, though, as of 1.8.0. I believe it also provides GPU acceleration.

The Panda3D Bullet module does not support hardware acceleration as of now, since we use the “default” configuration of the original Bullet libs which are not compiled with hardware support.

It is possible to compile Bullet (the original Bullet libs) with hardware acceleration, but this introduces additional dependencies, i. e. the OpenCL SDK either from NVIDIA, AMD or Intel.

Right. This is because the PhysX version we use (2.8.4) didn’t provide hardware support on Linux, only Windows.

Mhmmm… it’ ok, but there isn’t a reference or a manual that explain physx for panda3d?

And for bullet,could you show me a link that explains how to set for work with hardware acceleration?


p.s.: i replied too late xD, so thanks all. :slight_smile:

Another strange question:

Is possible to implement physics through the shaders?

Right. Maybe with the next big overhaul of PhysX, when moving from 2.8.4 to 3.2.

But we are always happy if there are volunteers who want to contribute some pages.

This would be the Bullet source code. Start here http://bulletphysics.org/wordpress/, download Bullet and an OpenCL SDK of your choice, and compile both. Then read the demos which come with the Bullet source code in order to find out how to use Bullet with OpenCL.

Panda3D does not offer support for Bullet hardware acceleration as of now (see above).

This is basically what hardware support means. If you want to know if it is possible to write your own shaders: no.