X3D
- X3D should not be confused with 3DXML, which is a proprietary 3D file format.
Filename extension |
.x3d, .x3db, .x3dv (plain) .x3dz, .x3dbz, .x3dvz (compression) |
---|---|
Internet media type |
model/x3d+xml model/x3d+binary model/x3d+vrml |
Latest release | 3.2, 3.1, 3.0 |
Type of format | 3D computer graphics |
Extended from | VRML, XML |
Standard | ISO/IEC 19775/19776/19777 |
Website | www.web3d.org/x3d |
X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality Modeling Language (VRML).[1] X3D features extensions to VRML (e.g. Humanoid animation, NURBS, GeoVRML etc.), the ability to encode the scene using an XML syntax as well as the Open Inventor-like syntax of VRML97, or binary formatting, and enhanced application programming interfaces (APIs).
X3D extension supports multi-stage and multi-texture render, it also supports shader with lightmap and normalmap. In 2010 X3D supports deferred rendering architecture. Now X3D can import SSAO, CSM and Realtime Environment Reflection/Lighting, but doesn’t need care much about polygon counts. The user can also use optimizations like BSP/QuadTree/OctTree or culling in the X3D scene.
X3D also benefits from other open source standards like XML, DOM and XPath. The user can easily develop content tools like an exporter and editor which make content creation and optimization tasks easy.
Standardization
X3D defines several profiles (sets of components) for various levels of capability including X3D Core, X3D Interchange, X3D Interactive, X3D CADInterchange, X3D Immersive, and X3D Full. Browser makers can define their own component extensions prior to submitting them for standardisation by the Web3D Consortium. Formal review and approval is then performed by the International Organization for Standardization (ISO).
Liaison and cooperation agreements are also in place between the Web3D Consortium and the World Wide Web Consortium (W3C), Open Geospatial Consortium (OGC), Digital Imaging and Communications in Medicine (DICOM) and the Khronos Group.
A subset of X3D is XMT-A, a variant of XMT, defined in MPEG-4 Part 11. It was designed to provide a link between X3D and 3D content in MPEG-4 (BIFS).
The abstract specification for X3D (ISO/IEC 19775) was first approved by the ISO in 2004. The XML and ClassicVRML encodings for X3D (ISO/IEC 19776) were first approved in 2005.[2]
Applications
There are several applications, most of them being open source software,[3] which natively parse and interpret X3D files, including the 3D graphics and animation editor Blender[4] and the Sun Microsystems virtual world client Project Wonderland.[5] An X3D applet is a software program that runs within a web browser that displays content in 3D, using OpenGL 3D graphics technology to display X3D content in several different browsers (IE, Safari, Firefox) across several different operating systems[6](Windows, Mac OS X, Linux). However, X3D has not received a wider ground of acceptance in other, more notable and proprietary software applications.
In 2000s, many companies like Bitmanagement improved the quality level of virtual effects in X3D to quality level of DirectX 9.0c, but at the expense of using proprietary solutions. All main features like game modeling are already complete. They include multi-pass render with low level setting for Z-buffer, BlendOp, AlphaOp, Stencil,[7] Multi-texture,[8] Shader with HLSL and GLSL support,[9] real-time Render To Texture, Multi Render Target (MRT) and post-processing.[10] Many demos shows that X3D already supports lightmap, normalmap, SSAO, CSM and real-time environment reflection along with other virtual effects.[11]
X3D strives to become the 3D standard for the Web, as integrated in the HTML5 pages as other XML dialects (MathML, SVG) already are there. X3DOM is a proposed syntax model and its implementation as a script library[12] that demonstrates how this integration can be achieved without a browser plugin, using only WebGL and JavaScript.[13]
Example
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "http://www.web3d.org/specifications/x3d-3.2.dtd">
<X3D profile="Interchange" version="3.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation=" http://www.web3d.org/specifications/x3d-3.2.xsd ">
<Scene>
<Shape>
<IndexedFaceSet coordIndex="0 1 2">
<Coordinate point="0 0 0 1 0 0 0.5 1 0"/>
</IndexedFaceSet>
</Shape>
</Scene>
</X3D>
Alternatives
- 3DMLW: 3D Markup Language for Web
- COLLADA: managed by the Khronos Group
- O3D: developed by Google
- Unity3D: a game engine which can be used online via a browser plugin
- U3D: Ecma International standard ECMA-363
- VRML: precursor of X3D
See also
- Active Worlds virtual reality multi-user 3D chat platform
- Blaxxun virtual reality multi-user 3D chat platform
- Flux, freely downloadable VRML/X3D editor/browser, now discontinued
- FreeWRL, free Open Source VRML/X3D browser
- List of vector graphics markup languages
- MeshLab open source mesh processing system that can export VRML/X3D
- Seamless3d free Open Source 3D modeling software for Microsoft Windows
- Open XML Paper Specification
- OZ Virtual
- Virtual tour
- Web3D
- Virtual Environment Software
- Additive Manufacturing File Format
References
- ^ Paul Festa and John Borland (May 19, 2005). "Is a 3D web more than just empty promises?". CNET News.com.
- ^ X3D FAQ – "What is the status of the X3D specification?". Retrieved on November 30, 2007.
- ^ "X3D Open Source Projects". Web3d.org. Retrieved 2010-02-23.
- ^ Blender Model Export to X3D
- ^ "Project Wonderland". Research.sun.com. 2008-10-07. Retrieved 2010-02-23.
- ^ "X3D applet". Members.shaw.ca. Retrieved 2010-02-23.
- ^ DrawGroup & DrawOp
- ^ Multitexturing
- ^ Programmable shaders component
- ^ Scene postprocessing support
- ^ VRML X3D and Realtime Web3D
- ^ X3DOM JavaScript library
- ^ X3D and HTML5: X3DOM proposal, Web3D wiki
External links
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
Example documents of X3D code
- X3D examples from the X3D Sourcebook (to get the example X3D code, click on a chapter, then on a figure)
- http://www.web3d.org/x3d/content/examples/HelloWorld.x3d
- http://cic.nist.gov/vrml/nistlogo.x3d
Example documents of X3DOM code
General
- X3D Resources, X3D Conversions, X3D Books, and X3D Examples
- Player support for X3D components and Tool support for X3D components
- VRML and X3D Plugin Detector that determines which VRML and X3D plugins are installed in your web browser
- X3D at the Open Directory Project
- List of X3D Open Source Projects maintained by web3d.org