Quite a lot has changed since I released NxPanda. For example Ageia has been bought by NVIDIA, and NVIDIA continued to support PhysX. This also means a slightly less restraining license for PhysX, and it means that hardware acceleration is not only possible on old AGEIA PhysX cards, but also on new NVIDIA graphics cards (GeForce 8-series, 9-series and 200-series).
Somewhere in the above thread I announced that I want to redesign the NxPanda wrappers for PhysX. This is more than a year ago. Well, here is the first public release of the new approach:
This time it is not a wrapper around PhysX classes, but an attempt at integrating with Panda3D. I use Panda3D’s interrogate to create Python wrapper around C++ classes which both shadow PhysX objects and provide additional functionality.
Main focus is on ease of usage, and not on feature-completeness. Also I try to make use of as many Panda3D features as possible, like the event system, the notification system, or the reference count system.
The code is still far from complete, but basic rigid body physics and character controllers work well. Next steps will be documentation and fixing problems (for version 0.5.0), then going for more functionality like raycast cars, cloth, softbodies and fluids (for version 0.6 or later).
- Windows and Linux. I compiled on Windows Vista and Ubuntu Gutsy Gibbon.
- Automatic synchronisation of visual objects. You don’t have to update NodePath coordinates are rotations by hand.
- Automatic hardware detection.
- Built-in debug mode.
Like before you will need to have the PhysX System Software installed (Version 8.09.04). This can be downloaded from the official NVIDIA PhysX page (link is below). If you have recent NVIDIA graphics driver installed (GeForce v177.39 driver package and above) then you already have the PhysX System software since it is included in the driver package. A third option is to use the smaller “game installer” for PhysX 2.8.1, but I think NVIDIA will discontinue to support the game installers.
Since the 0.5.0 release will be a bugfix only release feel free to flame me with problems, bugs, suggestions or criticism.