Ogre + PhysX = NxOgre
NxOgre is a physics connector library between the nVidia PhysX physics library and the Ogre 3D rendering system. With a help of some short, fast, and neat code you can have a commercial-grade physics system powering your Ogre application within a matter of minutes.
For example
#include "Ogre.h"
#include "NxOgre.h"
using namespace Ogre;
using namespace NxOgre;
void do_my_physics() {
World* mWorld = new World("time-controller: ogre");
Scene* mScene = mWorld->createScene("Eddie", "gravity: yes, floor: yes, renderer: ogre");
Actor* mActor = mScene->createActor("Atlas", new Sphere(0.5), Vector3(3, 10, -2), "mass: 10");
}
NxOgre completely wraps up PhysX for you, and interfaces with Ogre on multiple levels. Common things such as passing delta time values to the Physics layer from the Frame listeners are automatically handled with NxOgre. Many parts of NxOgre can be extended or even replaced; it will embed itself into your application as much as you want it to.