ANNOUNCE: Aviatrix3D 2.0 release

After two and a half years of serious development, Yumetech/j3d.org is pleased to announce the next major upgrade of the Aviatrix3D toolkit to version 2.0. This release has been a fundamental restructure of the codebase to further improve on it’s initial design aims: namely to be a scalable scientific and visualisation-oriented scene graph capable of running on any size platform from a desktop PC and upwards.

A summary of the major changes since the 1.0 release:

  • Reorganised the interfaces to the rendering pipeline to not use most of the user-facing classes. Now uses the separate Cullable/Renderable-derived interfaces.

  • Introduced a lot of customisation capabilities within the pipeline, particularly with the ability to have your own culling and sorting code.

  • Addition of SWT lightweight rendering capabilities (Draw2D and GEF) This is somewhat a work in progress as SWT Image handles are an issue with long running code. Works on SWT 3.2 and later.

  • Introduction of VBO capabilities

  • Many package changes for the renderer/pipeline classes. Now is a little bit more easy to see what belongs where.

  • Ability to create multiple independent windows that share a scene graph and/or render management.

  • Multipass rendering ability. This allows for most multipass rendering techniques to be implemented. The one except we know of right now is shadow volumes due to the need to have a custom, infinite view frustum matrix. This will be fixed in 2.1.

  • Layers (compositing) and viewports within a layer can be created.

  • Point sprite extensions added

Aviatrix3D is used as the core of many commercial and military projects, though you are unlikely to see much marketing blurb about it as they are all back-office styles of applications. Our major public user is Shapeways: http://www.shapeways.com which has approx 10K active users on any one day using our toolkits, of which AV3D is the core technology.

You can look over the toolkit and download it from here:

http://aviatrix3d.j3d.org

(Still cleaning up a few minor things on the site as of this posting, so check back regularly!)

Why have VBO capabilities been added so lately?

They were added about 2 years ago, but it has been 2.5 years since the 1.0 release. These are the change notes of the big things that changed from 1.0 to 2.0.

Because we are being used in a lot of production systems, we’re pretty slow going between major versions. We need to be really thorough in our testing to make sure it works across all major platforms. VBOs are an example of something that, while they look simple, do not actually work nicely in a cross-platform manner. We also have to work around some bugs in JOGL code too to make sure (eg some drivers report that they support it, but when you attempt to access that particular method in the GL class, it throws an exception saying it can’t resolve the name). Dealing with that across all different sorts of platforms and driver versions takes a lot of time.

installation is smooth enought and web integration is smart on http://www.shapeways.com but one thing is disturbing : the security dialog appear a little strange (see image above), the editor is “Unknow” and the name is not really meaningfull “org.jdesktop.applet.util.JNLPAppletLauncher”

Do you know the issue #356 and #364? There are some problems with the TextRenderer class. In the issue #356, it concerns graphics cards using OpenGL 1.3 or 1.4 and that allows to use VBOs. Did you find a clean workaround for this? I had to reuse the old version of TextRenderer to make it work :frowning:

DzzD,

Yes, we’re aware of that issue. The Shapeways site is in Beta, and so they have not yet acquired a commercial-grade code-signing certificate. As such, it is using a self-signed certificate from us right now. We expect that this situation will be changed around January 2009.

goussej,

I don’t know about the TextRenderer bug. We do our own text management and polygon generation for the shapeways site. What we have internally to AV3D is a couple of simple checks - first to see whether VBO’s are available and then a method call and catch for the GLException generated if they don’t really exist. The VBO problem is symptomatic of a larger problem within JOGL of the way it does some version checking and capability checking right in the heart of the codebase. We’ve analysed this in the past and sent the results to Ken, but he disagrees that it is a problem. So, there is really nothing that we can do about it right now - so we just catch the exceptions and fall back to normal vertex arrays. There is significant changes to JOGL coming with the post OGL 2.0 pipeline infrastructure so hopefully that will fix those problems as a byproduct.

Just curious … posting here in the Java Gaming Forum are you saying that Aviatrix3D is suitable for developing games?

Well, there’s nowhere else to post about it apart from OpenGL.org forums >:( There is a sad lack of any other non-gaming Java forum for 3D graphics, so here is where we post about our occasional updates.

Like all toolkits, it’s up to the end users to decide what they want to do with it. Yes, you could develop games with AV3D, but our primary development goals do not optimise for that path. As our company mostly does military, medical and scientific visualisation, as well as commercial applicaitons (see Shapeways), we make sure the toolkit is well suited to handle those tasks.

That said, there is nothing stopping someone from developing a game engine on top of it. It is just a scene graph after all. My current work is making sure that all the existing multipass techniques work. Some deficiencies are being worked on right now, and once those are corrected (for a 2.1 release), then all of the current, and hopefully future, GL coding strategies will be possbile within the AV3D API environment.