The future of physics programming

Started by
8 comments, last by coder0xff 17 years, 11 months ago
After working and comparing various physics engines, like ipion, novodex, ode, tokamak, newton and knowing about the PhysX PPU, and that havoc using the GPU for physics..i am pretyy almost sure that this is very similar to how 3D hardware evolved.. all the 3d rendering pipeline was prevoulsy done in software... then various hardware started to appear..like Glide..opengl..directx..and by time.. the 3d accelartaion is merged into the classic 2d adapter.. this is what i expect to happen.... i already heard about micrisoft working in something called DirectPhysics i expect it to be something like that LPDIRECTPHYSICSWORLD pWorld=DirectPhysicsCreate(); LPDIRECTPHYSICSSHAPE pShape=pWorld->CreateSphere(radius); LPDIRECTPHYSICSBODY pBody=pWorld->CreateRigidBody(...); etc... so..all the physics becomes in maybe... dphysics.dll... which would work internally using hardware , or using software if not available when this happens, physics SDKs would be obselete..or maybe one single rival will remain..just as OpenGL and when this happens, more cards will be having physics capabilities, and all the physics and collision handling becomes part of the video adapter driver, which would be good news for developers , there will be no need to buy an expensive havok or physx license just as software rendering becamse useless to implement by game developers.. thats what i expect that would happen for physics..in 3-4 years what do you people think about that?
Advertisement
You seem to be comparing, for example, ODE to OpenGL. That's silly - the two things work on very different levels. A more sensible comparison would be between physics engines and graphics engines - e.g. between ODE and Ogre. There are very many graphics engines, each tweaked and appropriate to different situations. The same is true of physics engines - some you want tuned for speed, some for accuracy, some for fluids, some for water surfaces, some for particles, some for 3D/2D, for vehicles (simulation) vehicles (arcade) small memory footprint, fixed memory use, large environments (i.e. where float accuracy isn't enough) etc etc etc. Another comparison you could make would be between low-level graphics stuff (e.g. OpenGL) and low-level physics stuff. Maybe it would be useful to have some hardware-orientated API for a few specific things - LCP solver, some collision detection routines etc, but it would still take people to build a physics engine on top of it, just as currently plenty of people spend their lives building graphics engines on top of OpenGL or DX (and audio engines on top of fmod, openAL etc).
I'm really looking forward to DirectPhysics, I doubt it will be released with DX10 though, at least with the first version. They started hiring for the Direct Physics team back in August last year and they might already have done internal development at that time.

As MrRowl said, don't expect Direct Physics do be an engine, more like a uniform interface for doing physics calculations in software, on the GPU, on the PPU or whatever is available.

EDIT: Deleted something which made no sense.

[Edited by - CTar on May 9, 2006 9:32:43 AM]
The nicest aspect of DirectPhysics will be the fact that they will be forcing the price of physics engines down to $0, which is currently the price of the DXSDK. I am excited when PhysX and Havoc are competing with their $10000 products against $0. Certainly, this will allow hobbyist programmers to get access to professional quality physics engines. Finally!

Quote:Original post by pTymNCertainly, this will allow hobbyist programmers to get access to professional quality physics engines. Finally!


What do you mean finally?! Novodex is already free for non-commercial use (i.e. hobby programming), possibly for commercial use if you support the hardware (I forget exactly what I heard/read). Other engines are available for free, and good enough to be used in commercial projects (ODE, Newton, etc).
MrRowl :

i am not comparing between ODE and OpenGL, i know for sure they work on a diffrent level..but..if we think back in the days before DirectX and OpenGL appeared, howa were games made under dos? each game house had its own engine (like Doom, wolf3d..etc..) under Dos, there was no 3d acceleration..and only simle 2D operations, so the entier rendere was software , internally using the 2D operations... as time evolved... the 3d operations (transfomations and exuring) became mature, and were standradized..and later appeared hardware to accelerate that..while if u think about it..its just an algorithm too... that after a while became also programmable to overwrtite the default transformation and lighting pipelne.. using vertex and pixel shaders.... so..the whole proccess of physics ( mainly for now rigid body simulation, but later flids and more complex physics operations) would become mature.. and complely done in hardware... even for collision detection...just the hardware performs by default using a default behaviour, which is standardized, and also may be possible that it become programmable..just like shaders

just like vertex shaders replace the default transfomation pipeline..

something maybe called (collisio shader) may be possible..allowing you to write ur custom collision detection and handling code) ... and i u dont write it, a default behaviour (algorithm is in the hardware doing it for you..
same goes for the rigid bodies

the physics engine over all is iterating over all bodies to make a certain oeration, and the internal collision system just iterating on the geometries and computing something

Seeing this DirectPhysics Job posted in microsoft...i really expect this to be what will happen

what first seems to be complex, and not-low level..with time becomes low level...whis is exactly what happened and resulted in 3D hardware...and thinking in the same way..physics and collision detection algorithms would reach the same destination...they are high level now..but later they will become low level..making it accessible and usable by more n more programmers and of course..masked

Quote:Original post by pTymN
The nicest aspect of DirectPhysics will be the fact that they will be forcing the price of physics engines down to $0, which is currently the price of the DXSDK. I am excited when PhysX and Havoc are competing with their $10000 products against $0. Certainly, this will allow hobbyist programmers to get access to professional quality physics engines. Finally!


I agree with the previous comments.
Comparing DirectPhysics with Havok is like comparing DirectX with Crytek Engine.

What it might do is facilitate the emergence of amateur physic engines, and unify the hardware requirements of professionnal engines.
Quote:Original post by MrRowlNovodex is already free for non-commercial use (i.e. hobby programming), possibly for commercial use if you support the hardware (I forget exactly what I heard/read).


PhysX (Novodex as was) is free for commercial use on PC, but you have to pay for console support.

Balls to physics, i cant even do freaking graphics :D
Whatever the future is, I just hope that it provides a set of functionality, such as collision detection (like MrRowl said), so that programmers can tailor it to their own needs. I wouldn't want the engine to just take objects and then exclude the developer from the process of simulating them.
Two things are infinite: the universe and human stupidity; and Im not sure about the universe. -- Albert Einstein

This topic is closed to new replies.

Advertisement