Physics engine

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
User avatar
Farinorco
Gnoblar
Posts: 13
Joined: Sat Feb 03, 2007 9:41 pm
Location: Spain (Getafe - Madrid)

Post by Farinorco »

Wow, betajaen, this sounds VERY impressive, I think you both (betajaen and Praetor) have convinced me :D . I'll take a look to PhysX and NxOgre, I can see that despite of being a (at least AFAIK) more powerful engine, it's not going to make my life harder, even the opposite... :roll:

I hope Ageia sends me the confirmation mail soon... surely you'll can see me in the future asking for other doubts in the NxOgre forum, as soon as I begin to have problems using PhysX and NxOgre, as a good newbie :lol:

Lots of thanks for all your help :)
User avatar
SpaceDude
Bronze Sponsor
Bronze Sponsor
Posts: 822
Joined: Thu Feb 02, 2006 1:49 pm
Location: Nottingham, UK
x 3

Post by SpaceDude »

I find the tutorials in PhysX are quite messy and I still have some issues with the NxController class, but the API is not bad overall. I can't compare against other since I haven't used them but I suspect that the other API are not better. If i had the chance to switch I think I'd still stick with PhysX because there seems to be a lot of development going on with PhysX and I have a feeling that its just the beginning.
And what about the implementation of PhysX accelerator support? Does it envolve a cost in additional coding or learning how-to-use? Is it feasible at all if you don't have such hardware to test that support?
It doesn't involve extra cost in additional coding or learning to use if you don't want to. But if you want to take full advantage of the hardware acceleration you will need to think a bit harder about your design. Essentially you call the function "simulate" to tell the hardware to process a timestep and then call "fetchResults" to get the results. You can call these two functions right after each other, but if you do that you lose the advantages of having hardware acceleration. What you should do is perform time consuming stuff like rendering or whatever in between those two calls so that the physx hardware can be busy processing the physics while the CPU is doing other stuff. The problem is that you can't do certain things while its busy processing, so I ended up just calling "simulate" and "fetchResults" after each other since I don't have a physx card. But i still have the possibility to optimize for hardware later on.