Showing posts with label collada. Show all posts
Showing posts with label collada. Show all posts

Thursday, January 27, 2011

Collada Models everywhere - WorldWind and COVE

Last few days I have had a lot of fun hooking one JOGL rendering engine into another. The fantastic Ardor 3D engine is designed with games in mind and WorldWind globe renderer interact nicely with each other. Ardor does not hog the GL context and behave as if it is the only thing with the run of the place. WorldWind can do the globe rendering then Ardor takes over to insert say a vertex shaded waving water layer and some buildings on fire.

105 macquarie st
There are the expected fights over z-buffer and texture caches, but a few context back-up restores in Java can take care of that. I had a bit of fun raiding the Google 3D warehouse for models and throwing them in. In some cases the positioning and scaling was not quite right, but the model framework established from joglutils and jaxb-collada work lets me specify this quite easily.

We also had a fantastic demo from Keith, developer of the COVE (Cooperative Ocean Visualisation Environment). Had nice chats about merits of scene segmentation trees from BSP to Hyper-Octrees(obviously harder to implement). He manages to keep decent performance with a wealth of features. Showing hundreds of arrows without VBO's can kill performance, but at least it keeps working on integrated graphics cards.
Current Vectors in COVE
Note to self: avoid DNS srv record madness for Google Talk, manually add the chat server If you are unable to fix the DNS settings, specify talk.google.com in the "Connect Server" field in the "Advanced" tab.

Monday, December 6, 2010

JAXB + Collada 1.4 Schema = Messy method names

Collada Reference ModelNASA WorldWind Java has recently added extensive KML support. They use neither SAX nor DOM, but a very creative solution with an XML pull parser. The events of interest i.e. implemented KML features only are responded to and corresponding objects created. So the pull based methodology is more flexible - faster than SAX and less memory hungry than DOM. One of the planned things is models, and given the interest in KML shown at the CSIRO Cop meeting I decided to have a shot at extending the worldwind KML support.

Collada Box in WorldWind3D models have been around on the forums in a mega thread for a while now, but never truly integrated into the worldwind core. With KML model support proposed this might finally be on the way. I got my feet wet in Collada parsing by creating annotated Java classes from the Schema using JAXB. I have to admit I made some primitive attempts with DOM + XPATH parsing and quickly gave it up in favour of pure JAXB magic. Parsing a simplistic Blender cube took some effort, I have the vertices, faces and normals done. Just need to set up some materials to get it to render.