Suitability for use outside the games industry?
I'm currently looking into producing a custom (internal initially) toolset that manages the production pipeline in a small animation studio. One of the requirements imposed on this toolset is that assets can be created in any of a number of authoring tools. Assets will be managed by the tool in a common format, with custom tools written to extract information from that format into RenderMan RIB for processing by the renderfarm.
Without creating another new format, it seems the options for this 'common' format are quite limited, FBX jumps out. However, I have a 'bad' feeling about incorporating something that is so closed. I stumbled across Collada and was wondering whether anyone here has any thoughts on it's suitability for this purpose?
It seems to me that there is a lot of 'crossover', shaders are similar enough that the existing Collada structures would probably be useful. Animation and different geometry types are the major initial concern.
In terms of tools, I'm thinking along the lines of a tool that can extract a given 'frame' from a Collada scene description, produce the required RIB and pass it onto the renderer.
Any thoughts greatly appreciated.
As Robin put it, "COLLADA encodes your asset in motion"
It goal is to enable the creation of many tools that can collaborate to for a content production pipeline, without having to understand the intricacy of the tools that needs to be used.
It is completely open source, and free to use. Since COLLADA is relying on XML schema technology, several tools can be used to manipulate and validate the data. It is also extensible.
With COLLADA 1.4, which is scheduled for end of October, we are introducing two major features: Physics and Effects (FX). The latter should really be of interest for you since it encodes the parameters, the fixed pipeline settings and the shader programs needed to create a specific rendering effect. It can also encode multi-pass effects and full screen effects. More infos on the SigGraph COLLADA show presentation.
COLLADA FX has been designed to be shader language agnostic. We will start with CG, HLSL and GLSL, but we are looking forward to extend it to other languages such as RenderMan and Sh for instance.
It always take some time for tools to catch-up with the latest specifications, especially in this case where so much was added to COLLADA, but work is in progress for at least the following tools: 3DSMax, Maya, XSI, FXComposer.
COLLADA has been accepted as a standard by the Khronos Group . This guaranty that the technology will last, and that its design is not dictated by a single company, but is co-designed and supported by large number of companies.
BTW, one option you have is to participate in the design of COLLADA, and discuss what you want to be added/changed with the rest of the group by becoming a Khronos member.
I find it more and more difficult to compare FBX with COLLADA since those two solutions are so different in term of supported features, open-source, availability, proprietary technology and standardization.
In summary, I think that COLLADA should bring you most of what you need, but will necessitate some involvement on your part to make it evolve the way you need.
Thanks for the reply, I understand about Collada's extensibility, that is one of the things that attracted me to it. My main reason for asking was to find out if the standard was likely to gravitate more towards a game/realtime level of functionality, and thus make it less suitable for my requirements, it seems that is not the case.
I will need to spend some more time reading up on the details of the spec before I can comment on any features that I'd like to see implemented in order to make it more fitting for use in the 3D animation/VFX field.
I presume at the moment, from my brief investigations, that I could use the <technique> nodes to allow RenderMan specific information to be embedded, along with custom nodes where necessary. Although first impressions are that it covers more or less all that is required immediately, with the possible exception of advanced geometry types (NURBS, Patches, Curves etc.) that RenderMan offers.
Hello. Just wanted to add that curves (splines) are already supported by COLLADA and we'll be adding other geometry types as well.
Originally Posted by pgregory
And yes, you can use both your techniques to replace the "base" of objects and <extra> elements to add, well extra data.