COLLADA becomes ISO standard, what does industry think?


The 5 years old COLLADA™ 1.5.0 specification is now officially ISO/PAS 17506:2012 standard. What does the industry think of it, and what’s up with its support in free software?

The long road to ISO

As an XML-based schema, COLLADA (COLLAborative Design Activity) encompasses geometry, shaders and effects, physics, animation, kinematics, and multiple version representations of the same asset. This makes it possible to exchange project data between authoring applications such as 3ds Max, Maya, Blender etc.

In the preface of the “COLLADA: Sailing the Gulf of 3D Digital Content Creation” book, published in 2006, Rémi Arnaud and Mark Barnes stated:

COLLADA's goal is to foster the development of better content tools by standardizing a common intermediate representation that encourages better content quality as well as facilitates the inclusion of many advanced features.

A standard, freely available content description technology such as COLLADA liberates the content from proprietary formats, empowering developers to improve the quality and feature set of the content that digital content creation (DCC) and middleware tools are providing.

Originally COLLADA was a project by Sony Computer Entertainment with input from Alias Systems Corporation, Criterion Software, Autodesk, Inc., and Avid Technology. The project started during SIGGRAPH 2003, and exactly a year later COLLADA 1.0 was announced during SIGGRAPH 2004. Later development of the file format was transferred to Khronos Group, a member-funded industry consortium.

On July 13th 2012 the International Organization for Standardization stated that COLLADA 1.5.0 had been published as ISO/PAS 17506:2012. The official status, however, wasn’t announced until March 27, 2013.

Inbetween a few things happened: OpenCOLLADA project is now hosted on Github at Khronos’s account, same as the conformance test suite. The move was made in July 2012, shortly before the first ISO’s announcement.

COLLADA and the industry

The question is how much this standardization means to the relevant industries. As it turns out, things are not even. Konstantin Kharitonov, CIO of CineSoft, shares:

The fact that COLLADA is now an ISO standard isn't going to affect pipelines of any of the VFX houses we work with. COLLADA was used a few years ago as an exchange 3D file format for importing/exporting with Autodesk Max/Maya, but right now depending on a task companies rely on OBJ, FBX, Alembic etc.

VFX isn't like an office environment: requirements for 3D assets and animation change every year. COLLADA 1.5.0, being 5 years old now, cannot stand against Alembic which is newer and is being updated all the time. Half of the companies we work with already use Alembic, and the other half is up to it.

Given that CineSoft produces Cerebro, a project management system used by over 100 VFX companies, that does means a lot.

It’s rather different in archviz and gamedev. For instance, DAE files are extensively used in 0 A.D. — an increasingly popular open source historical real-time strategy by Wildfire Games.

Deer model from 0 A.D. opened in Blender

Deer model from 0 A.D. opened in Blender

One of our readers mentioned on Google+ that the company he works for is using COLLADA, because it’s the easiest way to get data out of Blender into the Unigine game engine:

COLLADA in Blender

Things are not exactly well with support for COLLADA in free software though. In October 2011 Ton Roosendaal published an open letter where he expressed his concerns regarding further development of COLLADA.

We contacted Ton to ask him about his view on the current state of affairs. He replied:

I still have mixed feelings about it. Good news is that OpenCollada seems to get developer attention again. We didn't have time yet to inspect the latest status of the code at github though.

There's been no news for over two years, and the recent announcement mainly mentions they fixed support for Maya.

For an open source project I think should start communicating more, the website doesn't make a mention of developers, contact info, roadmaps, targets, releases, etc. The main OpenCollada developer NetAllied is also quite hidden in obscurity.

On the exact points of the open letter from 2011 Ton said:

In my open letter I addressed two key topics to tackle for Collada:

  • Narrow down the specs, or at least for the reference 'compliance badges'.
  • Get real stakeholders involved.

Neither of this I found evidence for really. You might dispute whether that's actually needed, but in my experience (3D pipelines for animation and games) the use of Collada is very limited still, and I don't think it's going to have a future there.

A year and a half ago, there were four people working on support for COLLADA in Blender. According to Ton, there’s one active developer now, an active member of the Second Life community (and in that sense, an active stakeholder).

Further improvements for COLLADA support in Blender could potentially come from Google Summer of Code program which had 3 related projects in the past (in 2009, 2011, and 2012). On that Ton commented:

If a student submits a strong proposal for Collada work, which directly benefits tangible use cases (or has real stakeholders involved), it would potentially be a good GSoC project.

There’s an ongoing thread on blenderartists.org regarding improvement of COLLADA support.

Sidetracking: what’s up with Alembic and FBX in Blender?

The two file formats in demand by the industry, Alembic and FBX, are not 100% supported by Blender, if at all.

There was some preliminary work done by Esteban Tovagliari on Alembic support, but he removed his code from Github after the merge of BMesh which reportedly broke the exporter.

Most recently Adobe After Effects got support for Alembic. Blender still isn't there.

Most recently Adobe After Effects got support for Alembic. Blender still isn't there.

Alembic has its own Python bindings since v1.1.0, but the last time we checked they were not compatible with Python 3. Nevertheless, support for Alembic is listed among Google Summer of Code project ideas this year.

Now the story with FBX is a bit different. If you didn’t read Ton’s open letter from October 2011, here is what he stated:

…FBX... is successfully used for the Blender-Unity pipeline now. It's quite remarkable that we can get this work for this closed format well, and still struggle to achieve anything useful on that level with COLLADA instead.

But that was about exporting FBX. Currently there are two concurrent implementations of FBX importing:

  • Earlier work by Alexander Gessler done as a GSoC2012 project. Alexander added support for Open Asset Library (Assimp) in Blender, then wrote an FBX importer for Assimp. This implementation is platform-independent.
  • UMIO library that provides both importing and exporting of FBX. Windows only.

It isn’t clear yet, which of them will end up in upstream Blender.

COLLADA in FreeCAD

The other big software project that supports COLLADA is FreeCAD. We asked Yorik van Havre about his reasons to add support for it. Here is what he replied:

The COLLADA compatibility in FreeCAD exists mainly because of Sketchup and its 3d warehouse, which for me is the best collection of 3D furniture available on the net. I found that small pycollada project which is a lightweight, simple python library to read and write COLLADA files, and 10 lines of code later that was done, and I never needed to go much further.

Mesh-based formats are still very much of actuality for me. To be totally honest, I prefer by far the OBJ format, which, although i is not officially an "open standard", is in fact totally open and pretty human-readable, and has the advantage of being dead-simple compared to COLLADA's very complex structure.

Taking the step towards WebGL

Along with announcing the official status of the standard the COLLADA Working Group made an oficial statement about starting a new project called glTF that defines “a final stage OpenGL Transmission Format to enable rapid delivery and loading of 3D content by OpenGL, OpenGL ES or WebGL APIs”. The idea is that glTF + COLLADA comprise a standards-based content pipeline for rich 3D web and mobile applications.

We also asked Ton Roosendaal about gITF, and he said:

The launch of a new file format, glTF, is a confusing message. It's presented as a "transmission format", as a companion to COLLADA. Its specs seem to align to render engines more, allowing fast reading, so hopefully it has a much more narrow specification than COLLADA. If so, this then could become an exchange format as well. But why bother of using COLLADA then?

It's possible that with the focus on WebGL (and glTF) COLLADA gets the momentum again though. Maybe it's not the a suitable format for film/animation pipelines, but to kick off “3d on the Web” it might well be the best choice we have.

However, the drive towards WebGL isn’t all that surprising. The WebGL plans date back to 2011 when Rémi Arnaud was still working at Screampoint Inc. as Chief Software Architect, and those plans, in return, are based on Rémi’s work at Sony. You can read his 2007 whitepaper on developing web apps with COLLADA and X3D. Rémi is now web browser technologies specialist at AMD.

Conclusions

The situation with COLLADA is indeed confusing. If your specification hasn’t been updated in 5 years, and you got it standardized just now, the next logical step would seem to be making sure that the development tools are in a good shape, then getting feedback from the community and starting to update the specification to meet the current industry’s requirements.

Apparently, the development tools check happened, but instead of updating the specification next, the working group started another project that focuses on the web. Meanwhile Alembic, FBX and OBJ continue to be the public’s best choice for exchanging data in VFX, while COLLADA still has a use in gamedev and AEC.

We’ll see if the COLLADA working group will manage to recapture the industry’s attention.