COLLADA is a COLLAborative Design Activity for establishing an interchange file format for interactive 3D applications.
COLLADA defines an XML-based schema to make it easy to transport 3D assets between applications - enabling diverse DCC and 3D processing tools be combined into a production pipeline. The interchange format provides comprehensive encoding of visual scenes Including shaders and physics, and even multiple versions of the same asset. COLLADA FX enables shaders to be authored and packaged using OpenGL Shading Language so that leading 3D authoring tools can work effectively together to create OpenGL / OpenGL ES applications and assets.
COLLADA supports all the features that modern 3D interactive authoring applications and DCC (digital content creation) tools need to exchange and fully preserve asset data and its feature set is expanding to incorporate technologies such as packaging programmable shader effects and controlling real-time physics engines. COLLADA enables powerful content creation pipelines that can automatically condition and scale 3D geometry and texture assets for real-time playback on a wide diversity of platforms.
Originally created by Sony Computer Entertainment as the official format for PlayStation 3 and PlayStation Portable development, it has since become the property of the Khronos Group, an open-source consortium, which now shares the copyright with Sony. Several graphics companies collaborated with Sony from COLLADA's beginnings to create a tool that would be useful to the widest possible audience, and COLLADA continues to evolve through the efforts of the Khronos contributors. Early collaborators included Alias Systems Corporation, Criterion Software, Autodesk, Inc., and Avid Technology. Dozens of commercial game studios and game engines have adopted the standard. Tools and Compability
COLLADA was intended originally as an intermediate format for transporting data from one digital content creation (DCC) tool to another. Applications exist to support that usage for several DCCs, including Maya (using ColladaMaya), 3D Studio Max (using ColladaMax), Softimage XSI, and Blender. Game engines, such as Unreal engine, have also adopted this format.
Two open-source utility libraries are available to simplify the import and export of COLLADA documents: the COLLADA DOM and the FCollada library. The COLLADA DOM is generated at compile-time from the COLLADA schema. It provides a low-level interface that eliminates the need for hand-written parsing routines, but is limited to reading and writing only one version of COLLADA, making it difficult to upgrade as new versions are released. In contrast, Feeling Software's FCollada provides a higher-level interface and can import all versions of COLLADA. FCollada is used in ColladaMaya, ColladaMax and several commercial game engines.
However, some applications have adopted COLLADA as their native format or as one variety of native input rather than simply using it as an intermediate format. Google Earth (release 4) has adopted COLLADA (1.4) as its native format for describing the objects populating the earth. Users can simply drag and drop a COLLADA (.dae) file on top of the virtual Earth. Alternatively, Google SketchUp can also be used to create .kmz files, a zip file containing a KML file, a COLLADA (.dae) file, and all the texture images.
As of version 1.4, physics support was added to the COLLADA standard. The goal is to allow content creators to define various physical attributes in visual scenes. For example, one can define surface material properties such as friction. Furthermore, content creators can define the physical attributes for the objects in the scene. This is done by defining the rigid bodies that should be linked to the visual representations. More features include support for ragdolls, collision volumes, physical constraints between physical objects, and global physical properties such as gravitation.
Physics middleware products that support this standard include Bullet Physics Library and Ageia's PhysX. These products support by reading the abstract found in the COLLADA file and transferring it into a form that the middleware can support and represent in a physical simulation. This also enables different middleware and tools to exchange physics data in a standardized manner.