COLLADA: The game developers' open source data exchange format

by Jon Peddie on 7 September 2006, 11:30

Quick Link: HEXUS.net/qagqi

Add to My Vault: x

COLLADA questions and answers continued


9. What tools already support COLLADA?
There are many tools already supporting COLLADA, and other companies are already working on adding support. A partial list includes:

• 3dsMax (COLLADA-Max)
• Maya (COLLADA-Maya)
• XSI (included in the product)
• SketchUp (COLLADA document inside the .kmz zip file)
• Google Earth (can load .kmz, or drag&drop COLLADA on the earth)
• DAZ studios (lots of content available)
• Houdini 8.1
• Blender
• COLLADA-DOM, COLLADA-RT, FX-loader libraries
• FCOLLADA library
• OpenSceneGraph
• Khronos COLLADA viewer (by Feeling Software), including FX and Physics
• Refinery content pipeline prototype application
• Physics middleware (AGEIA, Bullet)
• NIMA for COLLADA Physics support in Maya
• FXComposer 2.0 (nVidia)
• AI middleware (Kynogon)
• User interface middleware (Omegame)
• Game engines: Unreal Engine, C4 engine, Ogre, Agent FX, Irrlicht

10. Can I use it for my 360 or Wii title?
Yes, COLLADA can be used for any platform, on any platform. COLLADA was originally created at Sony Computer Entertainment, but it has always been delivered as an open-source resource, free, and available for anybody to use in any form in commercial or non commercial applications for any platform. Currently, it is easier for PLAYSTATION 3 developers to take advantage of COLLADA because it is included in Sony’s official SDK, but nothing at all prevents anyone from using it on other platforms. In fact, nothing prevents other platform vendors from adding support for COLLADA in their own SDK.

11. We already have CGFX and FX so why do we need COLLADA FX?
COLLADA FX is the shader effect extension for COLLADA. It basically can store all the graphics pipeline set-up information, and all the shader programs that are necessary for a shader effect run-time. It contains basically the same data as a cgfx file or a fx file. The main technical difference is that COLLADA FX can handle any language, so one can use GLSL, Cg or HLSL technology with COLLADA FX, while the other formats are limited to one language. And, prior to COLLADA no format existed for GLSL. COLLADA can be extended for other languages, such as Sh or Renderman.

COLLADA FX is the only shader fx format that can be exchanged between DCC tools. Since COLLADA tools have to provide both export and import, COLLADA FX made it possible to interchange programmable shaders between tools, which is a considerable advance compared to the other formats in use.

12. How does Collada FX integrate with OpenGL ES and OpenGL?
OpenGL and OpenGL ES are using the GLSL language for their shader programs. Before COLLADA FX, there was no format to represent a shader fx for OpenGL or OpenGL ES. Since COLLADA is promoted by the same organization that promotes the GLSL technology, COLLADA FX is the de-facto standard effect format for OpenGL and OpenGL ES. It is directly supported by hardware vendors such as Nvidia with their new FXComposer 2.0 tool.

13. Can I use COLLADA Physics with my physics engine?
COLLADA Physics is designed with the same goal as the rest of the format. It is designed to create a common, but complete, description of the feature that can be then used on any platform, with any game engine.

DCC tools are usually not designed to handle real-time physics properties, so they need to be extended with the addition of a physics engine (for example NIMA is the PhysX engine for Maya) before COLLADA physics properties can be imported and exported. Sometimes the same engine will be used in the DCC tool and the target platform, but most of the time a different engine will be used. Simulation results will not be the same, most of the time they are not the same even with the same physics engine running on two different platforms.

But that should not be a problem since the physical parameters are now common thanks to COLLADA. This same issue is true for the rendering engine. The DCC tool representation will not be identical to that in the target platform, but what is important is that the same data and parameters are available on both through COLLADA, so it is possible to establish a production pipeline, and enable the same data to be tweaked for several platforms.

14. Is COLLADA another format du jour, or will it last?
COLLADA was accepted by Khronos as an industry standard. This is a major achievement for COLLADA, since it is now maintained and promoted by many companies, and this is a guarantee that it will last. In addition, the adoption rate has been phenomenal, and many application developers are now demanding their tools vendors provide a conformant COLLADA import/export capability.

15. Is it free to use? How about the licensing issues?
COLLADA follows the same model as other standards already in place in the graphics industry, such as OpenGL. It is free to use, no royalties or any other fees. The specification and schema are available through anonymous http download on the Khronos web site (www.khronos.org/collada) in English and Japanese.

But in order to claim COLLADA conformance, one has to go through the conformance test process, and prove that its product respects all the rules of conformance. The cost of creating the conformance test is covered by the Khronos group, and the fees collected when going through the conformance process are used to pay for the conformance test itself. At the moment, COLLADA has not finalized its conformance test, so there is no way to say if an application is conformant or not, but our goal is to establish this process as soon as possible to guarantee the quality of the COLLADA tools to the final user.

16. Where is COLLADA going?
COLLADA while young (3 years old), is a mature standard. It will first grow in stability, with the introduction of the Khronos conformance test and reference viewer. It will also get a larger footprint, and extend its domain of application outside of the pure game market. Then, some additional features will most probably be added to COLLADA to extend the type of content that can be represented.

17. How can I give inputs about COLLADA design?
Khronos members drive COLLADA’s specification and future. Any company is welcome to join Khronos and participate in the future of COLLADA. In addition, users are welcome to express their ideas and wishes, or ask questions regarding COLLADA on the forum at www.collada.org. or by e-mail at collada@collada.org.



HEXUS Forums :: 7 Comments

Login with Forum Account

Don't have an account? Register today!
What is the difference between data exchange in something like COLLADA compared to things teams I've been involved with for game development use, like Perforce?
I think the big deal is that it's an open source standardised approach, meaning no one company has control over what can and can't be exchanged.

3D design asset exchange isn't my forté, however :)
Ah right, inter-company exchange, not intra-company.

I can see how that's an issue when you are licensing middleware etc. but I'd have thought that if you were handling anything licensed you would want control over what can be exchanged.
COLLADA is a data interchange format, for moving assets between tools in your content pipeline.
oo getting nearer to understanding now - it's intra-pipeline then, similar to tools people use to import models from say maya to an animation package? But actually a description format for the data which these packages can hopefully read and write to (this is more up my street, we have the same thing in sequence databases).

edit: yup.. it's an XML schema :)