Hi, my name is Chris Hanson, with 3D Nature. We make the World Construction Set and Visual Nature Studio 3D landscape rendering and animation products. We've kept an eye on COLLADA for a while, since the SIGGraph debut a few years ago, but we've never implemented support for it.
We've been sort of forced into it at this point because Google Earth adopted COLLADA as their 3D object format in their latest version 4. We have a Google Earth KML exporter as part of our Scene Express add-on.
We've been looking at COLLADA-DOM library for a couple weeks, trying to get a grasp on how to use it. Frankly, it's scary.
We have yet to successfully get a simple textured box written out. We're still mired in thousand-line demo programs that are concerned with asset databases and derived templates and lots of seriously deep stuff.
I'm really concerned that COLLADA-DOM is impractical for most developers to support. Doing anything basic with the library seems so complex that one has little idea where to start. We've implemented uncounted 3D object format readers and writers in my programming lifetime, but never anything as top-heavy as COLLADA.
Equally worrisome is that each edition of the library seems incompatible with the previous one. The docs even suffer the problem -- we found numerous places where the docs refer to some technique that we later find is deprecated or even removed from the current library.
Are we missing something here? It seems like COLLADA is a great idea for object interchange between game developers with industrial-strength needs for asset management, shaders, complex bone and constraint requirements and such. For anyone who doesn't have an entire XML-compliant development team to dedicate to it, it sort of looks like an elephant designed by committee.
At this point, we're looking at just taking some COLLADA sample files and hand-writing the XML ourselves by printf. It would probably make our exporter considerably faster and keep several megabytes of code size off of our application. I'm dreading the day when we need to read COLLADA files.