Is Xith3D missing any OpenGL/DirectX features?

Hi,

 Before I try using Xith3D for production usage, is it missing any features that OpenGL/DirectX have? Are there any known issues with it at this time?

  As well, what is the portability of Xith3D? Has it been ported to any gaming consoles like PS2?

Thank you,
Gili Tzabari

Java isn’t really on consoles yet - so you’ll have to wait a bit for that. Once it is on a consoles - I see no reason why Xith3D be capable of running on it. OpenGL on the console would help but even that could be worked around.

Xith3D doesn’t use DirectX - no immediate plans are in place to do so.

There’s probably lots of things you can do in OpenGL that you can’t in Xith3D. Check the demos to see if you can do the things that YOU want to do. As Xith3D is open source and layered ontop of JOGL (OpenGL bindings) you have two choices when it comes to this - a) extend Xith3D, or b) play with the OpenGL context directly.

Hope that helps. I strongly suggest viewing some of the demos: http://xith.org/demo/

Will.

Hi William,

So you're saying that Xith3D is ready for production (commercial games -- all major features implemented)? For the minor features which are missing you're saying I can call OpenGL directly and its output will integrate seamlessly with the Xith3D output. Is my understanding correct?

Thank you,
Gili

I’ve been experimenting with various Java 3D libraries / bindings for only five months, so I am no expert but I have some experience of various 3D technologies. In short, I see Xith as one of the brightest open source 3d scenegraph products.

However I do not see it as production quality (just yet), although I am getting more skeptic with bleeding edge technology used in commercial projects as I’m getting older and hopefully wiser :).

I’d say you have to list your absolute requirements for OpenGL bindings and scenegraph library and then start asking people does the library meet your requirements. Also do lot’s of googling and digging on the libraries home pages (and forums).

Here’s some technology that should interest you:
The OpenGL bindings: JOGL, LWJGL
Some scenegraphs: Xith, jME, OpenMind

Also there’s commercial scenegraph libraries available, you should ask about these also.

One important area is hardware support. What is your target? I have a feeling (again) that LWJGL might be currently a bit better choiche than JOGL. Both technologies are quite new so things can change pretty fast though.

To my knowledge Xith, jME and OpenMind scenegraphs have zero products out. You should use this as one indicator when thinking what technology you should use.

However, I assume there’s product released done based on plain JOGL and LWJGL. Cas has even released an commercial game that is based on LWJGL tech.

E.g. jME and OpenMind scenegraphs allow simple way of extending your application using direct OpenGL API, the user level API supports this directly. Both of them are a bit more game oriented (especially jME) than Xith. I do not know how hard or easy it is to extend Xith’s OpenGL features, does the user level API support this directly or do you have to dig deeply into Xith internals?. I’d say Xith has biggest architechture of them all and it’s suited natively for larger applications. This is a hunch.

This is an interesting discussion, hope other people join this thread also and share their comments. I’d like to enlighten myself on this area, please comment.

Cheers, Jani!

[quote]To my knowledge Xith, jME and OpenMind scenegraphs have zero products out. You should use this as one indicator when thinking what technology you should use.
[/quote]
I think Yuri has completely ported applications from Java3D to Xith3D and they work fine. I agree on the other things you said.

[quote]I think Yuri has completely ported applications from Java3D to Xith3D and they work fine.
[/quote]
Yes, I can confirm this. For this moment, Xith3D has support for more recent OpenGL features than Java3D.

As of extending Xith3D with own OpenGL code, this is possible but is not trivial task. The major point is possible interfecence with Xith3D State Management (that implements minimization of OpenGL state changes) and State Sorting. If you in your custom code modify context states that are managed by Xith3D core, then you may encounter complicated, strange and hard-to-find bugs.

Yuri