I've just released the first version of IPhysics, which is a set of classes for using Newton and Irrlicht together. It is also the spiritual successor to the 'Newton Vehicles in Irrlicht tutorial' which I wrote, oooh, two years ago? (For Irrlicht 0.6! Back in the day...)
There have been and indeed still are a few Newton / Irrlicht things around, but here's what I'm designing for with IPhysics:
- Designed wholly for Irrlicht use - everything uses native Irrlicht classes like vector3df.
- Really easy to use - no need to wrestle with Newton callbacks.
- Seamless integration into your project - the interface design is inspired by Irrlicht's: you have one root object through which all calls are made, and you are returned pointers to abstract interface classes so you can only call the functions that you need.
- Supports all the usual functionality that everyone's always trying to implement - terrain, collision tree, vehicles...
So that's the plan, anyway. The current release supports:
- static meshes (levels etc)
- (simple) vehicles
The download package contains the full source, documentation, some examples and example code, and a precompiled static library so you can use it in your own projects.
| Direct Download
The next big things on my to-do list are:
- character controller
- timing / update fix
To all Newton users: how do you run Newton with a correct timestep? From what I can see, passing Newton a 'correct' timestep makes it run in slow-motion, and passing it a stupidly big value just makes it decide for itself what the timestep should be (you can check with NewtonGetTimeStep() what it actually used), based on what minimum frame rate you specified with NewtonSetMinimumFrameRate().
To everyone else: the above is why I'm creating IPhysics - so we don't have to go through all that ever again!