We're from Argentina and this is our first post. We want to show you the project in that we are working.
It is add physicals capabilities to the (academic) Graphic engine that we (Juan Pablo & Cristian) developed in the past, called "Impromptu" (see Screenshots).
We want to provide support for many physics engine and allow to the user select one, according to his preferences. The challenge is support this, with only a few changes in the application's code.
In this moment, we (Marcos, Marcos & Cristian) provide an abstraction layer to support few physics engines.
With Impromptu, a (programmer) user with few knowledge in physics libraries can develop a simple application 3D with simulation of physics. Aditionally, the graphics engine provides a Resources Manager, a Rendering System, etc. Impromptu is programmed in Delphi, and have a high abstraction level language of Graphics APIs (Direct3D, OpenGL).
In this stage, the programmer can develop tests that include some physics engines and get some information about them (timing solver, parameters of performance, etc).
We develop some basics tests, for evaluate performance, error, etc in the engines evaluated.
PAL + Impromptu Example of use: (Delphi Code)
- Code: Select all
...
TPhysicsFactory.getInstance().selectEngine('newton'); //select engine
world := TPhysicsFactory.getInstance().createPhysicsWorld(); //get a world to add objects and simulate
world.init(initVector(-100,0,-100),initVector(100,100,100),initVector(0,-9.8,0)); //size (min point , max point) gravitity
Sphere:=(TLoadersManager.getInstance().Load('models\ball.3ds')); // create obj3D
pObj := TPhysicsFactory.getInstance().createSphere(); // create physics sphere
pObj.setWorldOwner(world); // assign obj to world
pObj.init(radius,position,mass); // initialize obj
Sphere.setPhysicsObject(po); // assign physics obj to obj3D
renderer.add(Sphere,[]); // add obj3D to Renderer!
...
Impromptu features and "Historic" applications Screenshots:
2004 - Fishing Simulator
2004 - Graphics Engine Impromptu
2004 - Visual Fishing 1
2004 - Visual Fishing 2
2004 - Visual Fishing 3
2005 - Virtual Scenes Editor
2006 - Graphics Engine Impromptu 1
2006 - Graphics Engine Impromptu 2
2006 - Graphics Engine Impromptu 3
]2006 - Graphics Engine Impromptu 4
2006 - Graphics Engine Impromptu 5
Videos:
Some videos of basic applications developed with Impromptu + physics abstraction layer:
Video 1: 8 boxes falling on a plane (using Newton)
LINK
video 3: a lot of balls (1500) falling on a plane (using Newton)
LINK
video 6: 400 barrels rolling down on the hill (using Newton)
LINK
That's all ! Coments and suggestions are welcome!
Thanks for your time!
Good luck!
Marcos, Marcos, Cristian & Juan Pablo