AGEIA Addon

Hello openFrameworks community.

I would really like to see an AGEIA Physics addon. Would anyone else be interested in a physics engine in OF?

I am a java programmer and use c++ when something isn’t available in Java. For this reason I am not likely to be able to write the addon myself (in the near future). However, I would like to help someone who is a bit more experinced.

It would be great to get feedback how many people would like a physics engine and how many would like to help write it.

Seems the post bellow you is also asking for a similar thing.

Something like this?
http://www.cs.princeton.edu/%7Etraer/physics/

Or are you after full hardcore game like physics?

Theo

For full scale physics in java the best bet would be…

http://odejava.org/OdejavaIntro

However with my first test using ODE I managed to produce impossible situations and the consensus seems to be that ageia is of much better quality.

There are no AGEIA java bindings available, so I would like to use it with openframeworks.

Basically I would like to generate 3d forms through user interaction and have these forms behave as they would in a real physical environment.

were quite happy to take a look once we get through the first round of addons that we’re working on – I have seen OF integrated with ODE (flatland - for 2d) so it must not be too hard to link it to other physics engines, and I will ask the folks that did it with IDE at least if they can post it online, perhaps it will be a helpful starting point for thinking about physics / OF…

thanks!
zach

hmm, i would really love to see dynamics integrated into OF. but i also think OF should concentrate first on offering a clean, stable, rock-solid base API!

dynamics definitly would be a killer addon (both in size and complexity). and i’m not sure if more than 1% of the OF users could handle that. no offense but i think it would be very hard to provide an easy API (which is one goal of OF) for beginners since you need a lot of math and computer graphics background to understand and be able to use dynamics. i don’t even want to speak what a necessary focus on performance would imply …
maybe it would be wise to concentrate first on basic dynamics like particles and springs, 2D dynamics (see flatland) and see how this develops.
but i could image it as an addon, since hardware-accelerated physics (AGEIA) sounds awesome to me :wink:
but there might be problems with the licensing as well.

anyway, some links:
OPAL

Bullet (zlib lic)
ODE (bsd lic)
Tokamak (bsd lic)

TrueAxis(free SDK for non commercial)
Newton (free SDK)
Ageia (free SDK)

/didi

Yeah the AGEIA liscencing doesn’t look so friendly!

I have a friend using Bullet at the moment and so I am going to get feedback from him and see if it would be appropriate.

But I agree simpler dynamics is definately what is needed first - springs, particles etc

If we can get a more sophisitcated engine working with openFrameworks in a way that makes sense then it would definately be a great addon to have.

But I agree that that should come later.

In the meantime any feedback from people who have used these engines, examples, projects etc would be much welcome.

i think bullet or ODE would be the best way to go. i’ve heard of several successful real life use cases. ODE was the first free dynamics SDK but bullet seems to be faster and has more active community (and might provide more features in future). but i don’t know anything about the zlib license.
well, we will see …

The guys who programmed the stoked rider game http://bongfish.com/ evaluated a number of c++ physics libraries and actually began development with ODE only later to switch to Ageia. They are quite certain that Ageia is the way to go, especially since it is also implemented in hardware. The api is also free to use and is a professional product.

The company earns money by selling physics cards and gives developers the api for free so that applications are developed. This gives people a reason to buy the physics cards.

sure, it would be very nice to just plugin a relatively cheap addon card and get additional power. and their SDK has some very advanced features (pretty smart people working there). and they try to support linux. still, it is an commercial product …

this is a very useful thread - I’ve often wondered about physics libraries and how they could be implemented.

I think for our purposes it might be simply enough, instead of making a wrapper or “addon”, just to do something more like a “hookup” where we show a simple example of how to hook that library into OF – that way, we don’t have to work too hard to interpret or simplify the API (like we do for the other addons) just enough to get people started. Other libraries, like opencv, since alot of people will use them, we can take more time and energy into packaging and simplifying. What do you think?

that said, I’ll try to nudge the OF / flatland person to post a simple code and also take a look at ageia too, when I get a free second. currently my head is in OF linux, which works in makefile now and is soon in IDE too.

-z

If anyone else is interested in writing an AGEIA Physics addon, I am open to a collaboration. Since what I am after is quality (accuracy) I’m not really interested in the more basic APIs.

:slight_smile:

Oops I mist your reply zach. That sounds great to me! :smiley:

@dear_stephen: i wonder what you mean by accuracy and how accurate you want/need the result to be?
there is always numerical cheating (or inaccuracy) involved. i don’t think that basic means more inaccurate …

jm2c
/didi

Hi didito

I have already tried ODE by performing a basic test of dropping a number of cubes onto a plane. I ended up with cubes with their corners sticking through the plane and somehow balancing like that.

What I don’t want to do is spend time developing with all sorts of physics engines that may or may not do the trick, when I am assured by very experienced physics developers that AGEIA is the best that they could find.

It may be that you guys are adverse to AGEIA because of its license but I am not. I don’t want to look at or change the physics code. I just want to use an engine that is most likely to give me the most accurate results. The physics card is also a nice bonus.

cheers,
Stephen

hey stephen,

i am absolutely with you.
there is no arguing about that the guys at ageia are pretty smart and have the manpower to provide better solutions (algorithms) for their library.
so i’m not against ageia at all. i was just confused by your statement about quality. it sounded like you think you need scientific accurate results - which i just doubted :slight_smile:

I’m not looking for a statics software. Just as good a result as I can get in real-time, or close to it.

Stephen