Toying with jGL

I had a play over the last few days with writing a Java-only software renderer for Ardor3D using Robin Bing-Yu Chen's jGL. I did so by porting only the bubblemark example for Ardor3D's example package to jGL (so not a full Renderer, just necessary pieces.)

While an interesting academic exercise, my early hopes for a viable Renderer have been dashed by extremely poor performance. Even running 16 textured quads around a screen on a year old machine gave me only 70-80 FPS (compare that to 3000+ for ardor3d/lwjgl or 1400+ for an AWT or Pulpcore implementation of the same.) Profiling shows that at least some performance is lost to a high level of gc... everything you do in jGL creates new float arrays, int arrays, etc. which causes a lot of churning. I think the issue may be more fundamental than that though... jGL was started back in 1996, and while very impressive for the day, probably could be rewritten today to take advantage of language and API improvement like jai and nio. Unfortunately, it's no longer actively maintained. :(

At this point, I'm wondering if doing something like pairing a software rendering Mesa3D driver (for systems with little to no opengl support) with lwjgl or jogl bindings would be possible.

Skinning support in + First Skin

Ok, it's no great work of art, but now that skinning support is in, the first skin for Ardor3D's UI system is now up in SVN. I really wanted to use an open source paint program to construct it, but finally had to bite the bullet and get Ardor Labs a license for Photoshop instead. (No simple ability to draw vector based shapes in Gimp?!)

Hopefully we'll see some real art replace this in the future. :)

Ardor3D UI up in svn

The first cut of the UI system is now up in svn. See this post for more information.