From Declarative 3D for the Web Architecture
Related and/or Competing
Keep in mind that comparisons between Declarative 3D and the technologies discussed here are often misconception of the goals of Declarative 3D. It is important to realize that Declarative 3D extends and integrates web browsers with 3D graphics. There are many useful and important 3D technologies some that sit inside of web pages. However the goal of this work is to make 3D graphics and graphic elements first class citizen's within the web browser. Key to this is to place 3D elements themselves directly into the DOM which is rendered by the browser. The rendering may utilize any number of technologies but the semantic elements of the 3D graphics must be directly in the DOM. This allows leveraging of the rich and growing collection of web development tools, which may now be applied to 3D graphics.
If you build the next high-end browser-based online game or visualization demo, use WebGL.
Extensible 3D (X3D) Graphics is an ISO standard graphics format for interactive 3D graphics. X3D also defines a run-time architecture that can be captured in various file formats (XML based, Classic VRML encoding, and Compressed Binary encoding). The ability for interacting with the scene graph is provided through the Scene Access Interface (SAI) and is not natively available through direct DOM API access. The X3DOM Framework extends the ISO standard by providing manipulation of the X3D graph through direct DOM object calls.
COLLADA is a 3D graphics format, designed for efficient exchange of 3D data assets. However, a wide range of WebGL libraries support loading of COLLADA models. Thus it's probably the most often used 3D graphics format for the Web. The Collada specification does not include, unlike X3D, a runtime or event model, which is needed for per-frame updates on the 3D-side (e.g. animations).
|SVG||X3D||Collada||WebGL||Declarative 3D (X3DOM/XML3D)|
|Supports 3D content||x||x||x||x|
|Designed to be used in a Web-Page||x||x||x||x|