Jump to content

COLLADA

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Gsteinmon (talk | contribs) at 17:32, 19 February 2016 (Applications: added fme to list of applications that can read/write collada). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

COLLADA
File:COLLADA logo.png
Filename extension
.dae
Internet media type
model/vnd.collada+xml
Developed bySony Computer Entertainment,
Khronos Group
Initial releaseOctober 2004; 20 years ago (2004-10)
Latest release
1.5.0
August 2008; 16 years ago (2008-08)
Type of format3D computer graphics
Extended fromXML
Websitekhronos.org/collada/

COLLADA (COLLAborative Design Activity) is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.[1]

COLLADA defines an open standard XML schema for exchanging digital assets among various graphics software applications that might otherwise store their assets in incompatible file formats. COLLADA documents that describe digital assets are XML files, usually identified with a .dae (digital asset exchange) filename extension.

History

Originally created at Sony Computer Entertainment by Rémi Arnaud and Mark C. Barnes,[2] it has since become the property of the Khronos Group, a member-funded industry consortium, which now shares the copyright with Sony. The COLLADA schema and specification are freely available from the Khronos Group.[3] The COLLADA DOM uses the SCEA Shared Source License.

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 Khronos contributors. Early collaborators included Alias Systems Corporation, Criterion Software, Autodesk, Inc., and Avid Technology. Dozens[quantify] of commercial game studios and game engines have adopted the standard.

In March 2011, Khronos released[4] the COLLADA Conformance Test Suite (CTS). The suite allows applications that import and export COLLADA to test against a large suite of examples, ensuring that they conform properly to the specification. In July 2012, the CTS software was released on GitHub,[5] allowing for community contributions.

ISO/PAS 17506:2012 Industrial automation systems and integration -- COLLADA digital asset schema specification for 3D visualization of industrial data was published in July 2012.[6]

Software tools

COLLADA was originally intended as an intermediate format for transporting data from one digital content creation (DCC) tool to another application. Applications exist to support the usage of several DCCs, including:

Game engines

Although originally intended as an interchange format, many game engines now support COLLADA natively, including:

Applications

Some games and 3D applications have started to support COLLADA:

Libraries

There are several libraries available to read and write COLLADA files under programmatic control:

  • COLLADA DOM (C++) - 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.
  • FCollada (C++) - A utility library available from Feeling Software. In contrast to the COLLADA DOM, Feeling Software's FCollada provides a higher-level interface. FCollada is used in ColladaMaya, ColladaMax, and several commercial game engines. The development of the open source part was discontinued by Feeling Software in 2008. The company continues to support its paying customers and licenses with improved versions of its software.
  • OpenCOLLADA (C++) - The OpenCOLLADA project provides plugins for 3ds Max and Maya and the sources of utility libraries which were developed for the plugins.
  • pycollada (Python) - A Python module for creating, editing and loading COLLADA. The library allows the application to load a COLLADA file and interact with it as a Python object. In addition, it supports creating a COLLADA Python object from scratch, as well as in-place editing.
  • Scene Kit (Objective-C) - An Objective-C framework introduced in OS X 10.8 Mountain Lion that allows reading, high-level manipulation and display of COLLADA scenes.
  • GLGE (JavaScript) - a JavaScript library presenting COLLADA files in a web browser using WebGL.
  • Three.js (JavaScript) - a 3D Javascript library capable of loading COLLADA files in a web browser.
  • StormEngineC (JavaScript) - Javascript 3D graphics library with option of loading COLLADA files.

Physics

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, Open Dynamics Engine, PAL and NVIDIA'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.

The Physics Abstraction Layer provides support for COLLADA Physics to multiple physics engines that do not natively provide COLLADA support including JigLib, OpenTissue, Tokamak physics engine and True Axis. PAL also provides support for COLLADA to physics engines that also feature a native interface.

Versions

  • 1.0: October 2004
  • 1.2: February 2005
  • 1.3: June 2005
  • 1.4.0: January 2006; added features such as character skinning and morph targets, rigid body dynamics, support for OpenGL ES materials, and shader effects for multiple shading languages including the Cg programming language, GLSL, and HLSL. First release through Khronos.
  • 1.4.1: July 2006; primarily a patch release.
  • 1.5.0: August 2008; added kinematics and B-rep as well as some FX redesign and OpenGL ES support.[7] Formalised as ISO/PAS 17506:2012.

See also

References

  1. ^ "ISO/PAS 17506:2012 Industrial automation systems and integration -- COLLADA digital asset schema specification for 3D visualization of industrial data". Retrieved March 30, 2013.
  2. ^ "COLLADA Sailing the Gulf of 3D Digital Content Creation". December 2006.
  3. ^ "COLLADA FAQ". August 2011.
  4. ^ http://www.khronos.org/news/press/khronos-group-releases-free-collada-conformance-test-suite
  5. ^ http://www.khronos.org/news/permalink/opencollada-and-collada-cts-now-on-github
  6. ^ "COLLADA becomes ISO standard, what does industry think?". March 29, 2013.
  7. ^ "Khronos Releases Collada 1.5 Specification". 2008-08-07. Retrieved 2008-10-13.