Java Notes From My Desktop

Tags - Categories : All | Articles | Book Reviews | CSS | Java | Javaranch | Javascript | News | Opengl | Opinions | Personal | php

Although I did some complaining before about Java and Opengl, I haven't totally given up on it and have been looking on and off for different solutions to the Java/Opengl situation.

A few days ago I started looking back at some Scene Graph implementations. Of course, starting with the notorious Java3D which has been released as open source recently. I have always liked the concept of the Scene Graph for rendering 3D worlds but wondered about performance issues and being too abstracted away from Opengl. I wonder how algorithms have been implemented for different features that can be critical to a well performing 3D application. I wonder how well the Vertices and Matrices calculations have been implemented.

Well, I can wonder and wonder, but I knew that until I got my hands dirty with some coding, I would never really have the answers to any of these issues. And in fact, I still don't. But I do have something...

jME - jMonkey Engine is a scene graph based graphics API. It uses an abstraction layer that allows any rendering system to be plugged in. By rendering system I mean LWJGL or JOGL. LWJGL is the only rendering system supported right now, but they are working on JOGL support. Personally, I find LWJGL to be better than JOGL anyway.

I have only been playing around with the API for a couple of days but getting a grasp of it was relatively simple. I'm not going to go into a lot of the features of jME in this article because you can just read about it on their site. But I have looked at a couple of other similar API's, Xith3D being the most notable, and I believe that jME is better.

Running examples from both API's I beleive jME performs better. I think jME has better documentation. But the main reason I would choose jME over the others? The jME Community. Open Source projects can live or die by the community that supports it. There are some good open source API's out there. And some of them, if I don't have to, I won't use.

The jME developers seem very passionate about their product and it shows. It shows in the way they answer questions on their forums, it shows in how they are contantly trying to improve their documentation. And it shows in how reliable their young API is and how well it performs.

If you are looking for a scene graph graphics API, I would definately recommend taking a look at jME.