Welcome! Log In Create A New Profile

Advanced

3D Physics Engine

Posted by WiiPhlex 
3D Physics Engine
August 03, 2008 11:11AM
I am currently developing a Physics Engine that can be implimented on any platform, PC, Mac, PS3, PS2, GC, Xbox, Xbox 360 and of course Wii (too name a few). This will be a rigid body, interactive impulse based physics engine. I will try and optimize it as much as possible but I'm not promising it will perfect, although, I once read the only thing that is perfect exists only in ones mind. Enough said, what does will it do!?

Particle Systems
Uses vector, defferential and integral calculus. Will feature the Orthonormal bias for a more realistic particle effect. Most of this system is already done, easy Implementation, you can custom set the projectile properties. Heres a small snippet.

particle->setMass(1);

particle->setDamping(damping);

particle->setAcceleration(Engine::Vector3::GRAVITY);

particle->clearAccumulator();

Laws of Momentum

Our friend Newton has done all the work here just have to program it. For those who have no clue what this is, its about stuff moving around and making it look real.

General Forces
These include gravity, drag and other force generators.

Springs
Elasticity, buoyancy, buoyancy force generators and all things springy.

Simple Collision Resolution
The Collision Direction and the Contact Normal, Collision Detection,Time-Division Engines and Resolving Interpenetration are just a few of the things that will be implemented here.

Mass-Aggregate Physics
This is a tricky one, I should get it eventually though. This kind of physics is rope bridges and cables, friction and blobs.

Dynamic Rigid body System
The implementation of a full Dynamic rigid body physics system will make for quick resolution of contacts as well as the ability to simulate all manner of situations from car racing, flight simulation and sailing (if you flow that way).

Advanced Collision Detection
Two separate Collision systems will let the user decided weather they need these more advanced systems or which here are a few; bounding volumes, binary space partitioning (for indoors), oct and quad trees for large terrain physics checks as well as multi-resolution maps.

Contact Generation
This is collision of all types of objects Point–Face Contacts, Edge–Edge Contacts, Edge–Face Contacts, Face–Face Contacts and Early-Outs which can be implemented in Colliding Two Spheres, sphere and the plane, box and plane, box and box, box and sphere and general Polyhedra.

Rag doll
Simulation of the human body without the body having any effect on its own movement. Resting contacts, collision resolution processes and all manner of tricky words that people don't understand.

Fracture physics
Fractal physics that split boxes after resolving collision and such forth.

Explosive Physics
Possibly the implimentation of impulse explosive physics with compression and concussion effects although I'm not sure how this one will go.

Interested to hear your thoughts on it.



Edited 1 time(s). Last edit at 08/03/2008 11:31AM by WiiPhlex.
Re: 3D Physics Engine
August 03, 2008 03:59PM
Looking forward to it... but aren't there enough physic engines already?
Bullet: [www.bulletphysics.com]
ODE: [www.ode.org]
Box2D, which is 2D at the moment: [www.box2d.org]
Others...

_________________________________
Simplicity... can do complex things.
Singularity... is simple and complex at once.
Re: 3D Physics Engine
August 04, 2008 04:04AM
True enough, there are a number of free open source physics engines out there, I find it more fun to make my own, nothing like watching your own software running.
Re: 3D Physics Engine
August 06, 2008 05:29AM
i agree, and who cares, if you release something better or different thean the rest do, than it is worth being released, although, perhaps, u should start with someone elses source, and work from there(to speed up time)
Re: 3D Physics Engine
August 06, 2008 05:43AM
I will likely use some of the free optimized vector classes and some of the collision resolution is fine as it is, but other than that most of it will be from scratch.
Re: 3D Physics Engine
August 06, 2008 07:17PM
well, good luck, hope it turns out good
Re: 3D Physics Engine
August 07, 2008 03:09AM
I'll release some of the particle engine classes soon so people can use GX with it.
Re: 3D Physics Engine
August 07, 2008 08:25AM
Particles! Justin started studying it. Really need to learn Gx...
Re: 3D Physics Engine
August 07, 2008 08:39AM
GX is similar to all of the other 3D Graphics API's, there are a few lessons, well examples with lots of comment, in devKit Pro in the graphics section of examples in the wii folder in the examples folder... can't miss them...
Re: 3D Physics Engine
August 07, 2008 08:41AM
Ok. I've never used Gx on any platform. Only GDI on Windows(.net/.mono) and Linux(.mono). There be always a first time.
Re: 3D Physics Engine
August 07, 2008 08:47AM
I've made it so that its fairly easy to use in any graphics library, even Libwiisprite, I'll do a small sample in GX to demonstrate it on wii and release the source as well, although I can't test it in GX as I don't own a wii or TV.
Re: 3D Physics Engine
August 07, 2008 08:50AM
I can test :D. Oh, obedience question... on while(1), it keeps running full-speed... how to slow it, so i've a steady framerate? I think it's important for such things as graphics&games.
Re: 3D Physics Engine
August 07, 2008 08:54AM
Usually I keep the graphics and physics frame rates seperate for smoother looking game play, this can be achieved by multi threading an application. The most common way to see this in action is hundereads of objects falling into water, the water is smooth as it is graphics related and (in this case) not effected by the objects , where as all of the objects, are moving much slower as they update their position each frame.
Re: 3D Physics Engine
August 07, 2008 08:59AM
In you're tut, can you ad a little example of threading on wii? I can't get it to work.

(.net is so much different on threading).
Re: 3D Physics Engine
August 07, 2008 09:00AM
I can try, but I don't know much about the wii archetecture sorry, I don't even know how many cores it has..
Re: 3D Physics Engine
August 07, 2008 09:04AM
Has it multiple cores? I kbow he has a ARM and a PPC processor... but only one is available for games etc. But you've never threaded on Wii?
Re: 3D Physics Engine
August 07, 2008 09:06AM
I don't own a wii, I've never programmed for it before a week ago, so no.
Re: 3D Physics Engine
August 07, 2008 09:14AM
But... you can't test you're HB....
Do you've plans to buy a Wii?
Re: 3D Physics Engine
August 07, 2008 09:18AM
I get others to test my programs on wii, or I just work very carefully, I'm not particularly rich at the moment, so no, I don't plan on purchasing a wii any time soon.
Re: 3D Physics Engine
August 07, 2008 09:22AM
Oh... a shame... I'm (almost) always available for testing :D.



Edited 1 time(s). Last edit at 08/07/2008 09:22AM by Dykam.
Sorry, only registered users may post in this forum.

Click here to login