Scenegraph-API

I have learned Jogl for some days now (NeHe Tutorial 1-10). I used it to get to know OpenGL. However I don’t think it’s the right choice for developing a game for me. Therefore I want to take the next step and use a high-level-scenegraph-API. I already planned to do this before getting to know OpenGL. Up to now I heard of Java3D, Xith3D and OpenMind. There are some more I think.

I don’t want to use Java3D, because I couldn’t figure out if it’s still actively developed. Looking at the discussions here Xith3D seems to make good progress. I don’t know much about OpenMind. Which of the APIs can you advise?

There are still some questions arising concerning the APIs:

  • Where to find good documentation? I’d appreciate a tutorial which doesn’t only describe small feature demos, but how to write a realistic game. Links are very welcome. :slight_smile:
  • Is the API stable or expected to be stable within the next months?
  • Is Jogl/OpenGL knowledge useful? Can OpenGL possibly be used directly?

Having a closer look at Xith3D I found there’s no documentation except a general introduction. The Javadoc is not really good either (gave me 84 warnings btw). So how do I get started? ???

Is there a better place to ask these questions?

there is a javadoc, its in a subfolder of the main package. i dont use it [EDIT: Xith3d, that is], or suggest it, mainly because im trying to write a scene and physics engine, and i believe that the two must be tightly knit, and the way java3d is structured (which is what xith3d used) this cant quite happen. plus its good experience to try and write a simple one. a basic heigherarchical (i dont know how to spell) scene graph with tree based culling and clipping is a good start. implementing collision detection (which should (must) be integrated with the scene graph management for performance reasons.

If you’re developing this game in the near future I don’t see why you shouldn’t consider Java3D. True, it’s future is uncertain at the moment but that’s not to say it’s doomed. See this post on the Sun forums for more info

http://forum.java.sun.com/thread.jsp?forum=21&thread=409799&start=15&range=15&tstart=15&trange=15

[quote]there is a javadoc, its in a subfolder of the main package.
[/quote]
I know. I downloaded the CVS-Version and generated the Javadoc. (That gave me the warnings.) I can’t say anything about the advantages and disadvantages of the structure of Xith3D.

[quote]If you’re developing this game in the near future I don’t see why you shouldn’t consider Java3D. True, it’s future is uncertain at the moment but that’s not to say it’s doomed. See this post on the Sun forums for more info

http://forum.java.sun.com/thread.jsp?forum=21&thread=409799&start=15&range=15&tstart=15&trange=15

[/quote]
There is still no official statement about the future of Java3D. ::slight_smile: Maybe it’s a good way to start with Java3D (which should have good tutorials) and then try to port the code to Xith3D (hopefully not too difficult). The package structure is quite different, but the scenegraph structure is very close.

[quote] …Java3D (which should have good tutorials) and then try to port the code to Xith3D (hopefully not too difficult).
[/quote]
Hehe, exactly what I’m hoping to do ;D - to me that’d be the best of both worlds, using Xith and still have access to the lower-level JOGL stuff. Let’s wait in hope 8)

More stuff related to the future of Java3D:

http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=announcements;action=display;num=1061415308

Imho it would be better to support Xith3D, because it can take quite a while waiting for Sun to opensource or further develop Java3D (if this will ever occur). On the other hand Xith3D still needs a lot of work to be done.

Hi Joo,

I haven’t had time to test Xith3D so far, so I can’t talk about it, but I can very well talk about OpenMind since I develop it :slight_smile:

OpenMind is developed with performance in mind and is focussed towards games. So far, it is much more faster than Java3D, but inferior in terms of features : for example, it doesn’t yet feature morphing or animation interpolators. But it supports octrees for managing efficient culling of terrains or large FPS levels, and has a good 2D scenegraph which should allow you to build any kind of 2D graphical interface, mixing 2D images and 3D objects, with picking and transformation of every object.

I am currently rewritting the camera class which used to be flawed with Quaternions to provide an efficient and clean orbit/pan camera movement. It should be easily possible to modify it later to create SLERP interpolated camera movements like in Tomb Raider (assuming one have some good understanding of quaternions).

I plan to make a new release featuring JOGL support and a lot of bug fixes these days, but as I just had a baby last week, I’ve been late on my schedule (my apologize to all OpenMind users expecting for it).

While OpenMind has a good Javadoc, it lacks tutorials for sure. But there are a lot of samples heavily commented that you can rely on for learning. Last but not least, OpenMind requires a good knowledge of matrix math if you want to take the most out of it, but can be used without also.

Like any free software project, OpenMind can not bring any warranties about constant active development or support. But I am commited to continue working on it on the long term, wether there are active open source developers giving a hand or not.

Regards,

Alban

The lack of good tutorials and example programs is really a problem.

I’m on Linux and downloaded your SDK, but the ant build failed, because I don’t have the necessary OpenAL-lib. You put it in your lib tree (Btw why are there so many GL4Java libs?) for MacOS and Windows, but not for Linux.

If the new JSR-134-engine, based on Jogl and Joal, is already working on Linux I could try this.

JSR-134 ?
seem to be discontinued

I think he/she means Jogl, as it was kinda born of that JSR.

Kev

There’s an openmind-jsr directory in the CVS tree of OpenMind. That’s what I meant. ::slight_smile: