DIfference between API's? Java3d, Odejava, Xith3D, JME, JOODE?

Hi there,
I’ve been working on Java3d for about a year now and still pretty rookish at it. I want to create some fairly accurate models with the correct collision, mouse/key behaviors say of a vehicle or biped creatures. It was to my massive disappointment that I was unable to produce complex 3D models with Java3d.

I’ve had a look around at the available options and Odejava seems to be the only other API I need. But upon reading the site they seem to recommend also working with JME - my next question is JME compatible with Java3d. The screenshots at JME are very impressive and is the kind of thing I want to achieve with Java3d… Don’t want to learn another totally new API…

Java3D isn’t designed for (3d) game programming, but jME is designed for (3d) game programming.

I recommend jME for your purposes.

You will need to refactor some code to use JME, but there are large similarities (it’s a scenegraph), on the other hand, there are very noticable things that have changed.

Take a look through the Hello* series of JME tutorials to see what I mean.

On other hand, apart from taking a little time over my AC3DLoader, I knocked up a test scene in JME fairly quickly having not looked at in depth before, and even that was a year or more ago.

HTH

Endolf

I would say rather that Java3D is designed for more then game programming. It has a lot mreo then you need but multiple successful games have been built using it. One key difference is that Java3D is your only option out of the can (to my knowledge) that supports multi-threaded operation, which maight be valuable to you as multi-core desktop systems become more popular.

JMonkeyEngine otoh is streamlined for game development. Its other big advatnage is that it supports some low level features (shadows, render to texture) that Java3D does not yet support.