Panda Bullet

Here is a new version - it’s experimental and a complete rewrite with lots of API changes:
http://enn0x.p3dp.com/libpandabullet-r11.zip

Summary of changes:

  • All physics objects are derived from PandaNode now (this is rigid body, soft body, ghost, character and vehicle).
  • Collision filtering is based on Panda3D’s CollideMask. Only the “from” collide mask is used.
  • Compound shapes are no longer required for bodies with several shapes. The btCompoundShape is created internally (I still have to optimize this, since currently a btCompoundShape is always internally created, no matter how many shapes are added to a rigid body).
  • Many objects and methods have been renamed, in order to fit better with Panda3D’s naming pattern.
  • Build system is now ‘waf’. Still Windows-only. Currently I am not using anything from Bullet’s “extra” directories.

I still have problems with synchronization of soft body transforms, so please don’t use soft bodies yet.

All the changes have been done in order to find a tighter integration with Panda3D. I’m not 100 percent convinced that this is the right way of providing Bullet physics in Panda3D, so please feel free to comment on the new version or - even bettere - suggest other ways.