WiiPhlex 3D Physics Engine August 03, 2008 11:11AM Registered: 15 years agoPosts: 211
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).

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.
 Dykam Re: 3D Physics Engine August 03, 2008 03:59PM Registered: 15 years agoPosts: 109
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.
 WiiPhlex Re: 3D Physics Engine August 04, 2008 04:04AM Registered: 15 years agoPosts: 211
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.
 Xylite Re: 3D Physics Engine August 06, 2008 05:29AM Registered: 15 years agoPosts: 55
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)
 WiiPhlex Re: 3D Physics Engine August 06, 2008 05:43AM Registered: 15 years agoPosts: 211
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.
 Xylite Re: 3D Physics Engine August 06, 2008 07:17PM Registered: 15 years agoPosts: 55
well, good luck, hope it turns out good
 WiiPhlex Re: 3D Physics Engine August 07, 2008 03:09AM Registered: 15 years agoPosts: 211
I'll release some of the particle engine classes soon so people can use GX with it.
 Dykam Re: 3D Physics Engine August 07, 2008 08:25AM Registered: 15 years agoPosts: 109
Particles! Justin started studying it. Really need to learn Gx...
 WiiPhlex Re: 3D Physics Engine August 07, 2008 08:39AM Registered: 15 years agoPosts: 211
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...
 Dykam Re: 3D Physics Engine August 07, 2008 08:41AM Registered: 15 years agoPosts: 109
Ok. I've never used Gx on any platform. Only GDI on Windows(.net/.mono) and Linux(.mono). There be always a first time.
 WiiPhlex Re: 3D Physics Engine August 07, 2008 08:47AM Registered: 15 years agoPosts: 211
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.
 Dykam Re: 3D Physics Engine August 07, 2008 08:50AM Registered: 15 years agoPosts: 109
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.
 WiiPhlex Re: 3D Physics Engine August 07, 2008 08:54AM Registered: 15 years agoPosts: 211
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.
 Dykam Re: 3D Physics Engine August 07, 2008 08:59AM Registered: 15 years agoPosts: 109
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).
 WiiPhlex Re: 3D Physics Engine August 07, 2008 09:00AM Registered: 15 years agoPosts: 211
I can try, but I don't know much about the wii archetecture sorry, I don't even know how many cores it has..
 Dykam Re: 3D Physics Engine August 07, 2008 09:04AM Registered: 15 years agoPosts: 109
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?
 WiiPhlex Re: 3D Physics Engine August 07, 2008 09:06AM Registered: 15 years agoPosts: 211
I don't own a wii, I've never programmed for it before a week ago, so no.
 Dykam Re: 3D Physics Engine August 07, 2008 09:14AM Registered: 15 years agoPosts: 109
But... you can't test you're HB....
Do you've plans to buy a Wii?
 WiiPhlex Re: 3D Physics Engine August 07, 2008 09:18AM Registered: 15 years agoPosts: 211
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.
 Dykam Re: 3D Physics Engine August 07, 2008 09:22AM Registered: 15 years agoPosts: 109
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.