Stereo Vision

Last month when I was at Ames Research Center, I saw a nice presentation of a older C based OpenGL application running in stereo 3D using a special 3D projector and some simple polarized glasses. Since then I've wanted to build in the ability to do the same in Ardor3D... a fairly simple procedure, but something I'd never gotten around to until now.

You can try it out now by pulling down the latest Ardor3D and running the StereoExample. By playing with the configuration you can see the example run in anaglyph mode (for use with those funky colored glasses) or hardware based buffer swapping mode (for use with polarized glasses, etc.). You can also run in side by side mode, placing the left and right views next to each other each on half the screen.

New Ardor3D Text System

Just added to Ardor3D's core is a new text system designed to work with AngelCode's Bitmap Font Generator. The original work and implementation is courtesy Mark Allan, a smart guy I met on a recent project with NASA Ames.

I expect this new system to eventually replace our older Text/Font system. By using the images and font descriptions generated by the AngelCode tool, this new font system is able to nicely handle the whole Unicode 5.1 character set, in a nice, incredibly compact texture space. It's also able to handle placing the text, billboarded, into your 3d scene. Check it out with the newly included example com.ardor3d.example.ui.BMTextExample.

Nice job, Mark!

Looking for contracts

At Ardor Labs, we've built 3d visualization tools in Eclipse/Ardor3D for ConocoPhillips to search for oil. We've helped develop multiplayer games in jMonkeyEngine for Sun Microsystems to showcase their Darkstar technology. We've even worked on Eclipse and Ardor3D technology for NASA Ames Research Center for use in planning and visualizing their robotic rovers on the surface of the moon and Mars.

Now we'd like to help you with your project. Drop us a line and let us know how we can help!

Collada and JiBX

This past week I spent working on a JiBX based Collada 1.4.1 importer for Ardor3D. It's up and working here locally now, able to load in various test models as well as Collada models from the SketchUp warehouse.

My experience with JiBX thus far has been mixed. There are some things it just does not seem to handle well, particularly in the complicated xml structure that is the Collada spec. For example, the Collada spec has several areas where you have a set of possible choices that can repeat and be in any order. For example, you can have something like:

<COLLADA>
<library_nodes>...</libary_nodes>
<library_images>...</libary_images>
<library_images>...</libary_images>
<library_nodes>...</libary_nodes>
...
</COLLADA>


JiBX can handle that, but only if you handle every possible tag... Because they repeat and are unordered and are not grouped under individual named parent tags, you can't (as far as I can tell) tell it, "only handle library_nodes tags when you parse this section." You also can't even tell it "library_images might be a choice in there, but go ahead and ignore it." No, you have to tell it to handle each one.

I'm also using the Eclipse plugin to handle JiBX bind operations... which is great. But when I went to use the jibx extras jar to get Dom marshalling support, I couldn't seem to get the plugin to find the class definitions. I need Dom support because there are tags in the collada spec that support "any valid xml" under them.


Still, I do enjoy JiBX. The JiBX based Ardor3D Collada loader is much lighter and even a bit faster than the old jme one. So far I have support for triangles, polygons, and polylists. Also proper transforms, phong/blinn materials, textures and some basic transparency. Look for it in the public svn repo "soon" as ardor3d-collada.

Tidbits

1. Ardor3D is now listed on Ohloh. Note that this is just the new svn module and does not reflect the work we did from July '08 - Dec '08 before changing the svn structure.

2. Petter has our Hudson, Maven and Nexus configurations humming along pretty well. We are still having some issues with a few Hudson plugins that track test coverage and so forth, but builds are happening and going into our Maven repo. Kudos, Petter!

3. I've finished converting to electronic form the 8 pages of chicken scratch talking points I wrote for last month's NASA - Ardor3D architecture talk. It's a bit ugly still, but after I pass it around to Rikard and Petter for accuracy checks, I'll get it up on the Trac wiki for refinement, review, and (most importantly!) public help in making it better. :)