X3D is a royalty-free ISO/IEC standard for declaratively representing 3D computer graphics. File format support includes XML, ClassicVRML, Compressed Binary Encoding (CBE) and a draft JSON encoding. X3D became the successor to the Virtual Reality Modeling Language (VRML) in 2001. X3D features extensions to VRML (e.g. CAD, geospatial, humanoid animation, NURBS, 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).
|Internet media type|
|Type of format||3D computer graphics|
|Extended from||VRML, XML, Gzip|
The X3D extension supports multi-stage and multi-texture rendering; it also supports shading with lightmap and normalmap. Starting in 2010, X3D has supported deferred rendering architecture. Now X3D can import SSAO, CSM and Realtime Environment Reflection/Lighting. The user can also use optimizations including BSP/QuadTree/OctTree or culling in the X3D scene.
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 ISO/IEC.
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.
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.
There are several applications, most of which are open-source software, which natively parse and interpret X3D files, including the 3D graphics and animation editor Blender and the Sun Microsystems virtual world client Project Wonderland. An X3D applet is a software program that runs within a web browser and 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 (Windows, Mac OS X, Linux). However, X3D has not received as wide acceptance as that of other, more notable software applications.
In the 2000s, many companies such as Bitmanagement improved the quality level of virtual effects in X3D to the quality level of DirectX 9.0c, but at the expense of using proprietary solutions. All main features including game modeling are already complete. They include multi-pass render with low level setting for Z-buffer, BlendOp, AlphaOp, Stencil, Multi-texture, Shader with HLSL and GLSL support, real-time Render To Texture, Multi Render Target (MRT) and post-processing. Many demos shows that X3D already supports lightmap, normal mapping, SSAO, CSM and real-time environment reflection along with other virtual effects.
<?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>
The VRML representation is the same as VRML § Example, except that the version line is changed to reflect the X3D profile (
#X3D V3.2 utf8).
For JSON and binary formats, see web3D for a list of tools.
- 3DMLW: 3D Markup Language for Web
- glTF: a standard file format for three-dimensional scenes and models managed by the Khronos Group
- COLLADA: interchange file format for interactive 3D applications, managed by the Khronos Group
- O3D: developed by Google
- U3D: Ecma International standard ECMA-363
- VRML: precursor of X3D
- 3MF: An XML-based format that includes 3D additive manufacturing data such as material properties.
- A-Frame: An HTML-based declarative 3D scene-graph language and interaction framework commonly used for WebVR
- Active Worlds virtual reality multi-user 3D chat platform
- Additive Manufacturing File Format
- 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
- Open XML Paper Specification
- OZ Virtual
- Seamless3d free Open Source 3D modeling software for Microsoft Windows
- Unity: a game engine which can be used online via a browser plugin
- Virtual tour
- Virtual Environment Software
- Web3D and Web3D Consortium
- Paul Festa and John Borland (19 May 2005). "Is a 3D web more than just empty promises?". CNET News.com. Archived from the original on 12 November 2009.
- http://www.web3d.org/specifications/X3dNodeInventoryComparison-X3dInteractiveMpeg4Interactive.pdf[bare URL PDF]
- X3D FAQ – "What is the status of the X3D specification?" Archived July 16, 2007, at the Wayback Machine. Retrieved on November 30, 2007.
- "X3D Open Source Projects". Web3d.org. Retrieved 2010-02-23. Archived February 6, 2014, at the Wayback Machine.
- Blender Model Export to X3D
- "Project Wonderland". Research.sun.com. 2008-10-07. Retrieved 2010-02-23. Archived July 17, 2009, at the Wayback Machine.
- "X3D applet". Members.shaw.ca. Retrieved 2010-02-23. Archived September 16, 2012, at the Wayback Machine.
- DrawGroup & DrawOp
- Multitexturing Archived July 12, 2010, at the Wayback Machine
- Programmable shaders component Archived July 12, 2010, at the Wayback Machine
- Scene postprocessing support
- VRML X3D and Realtime Web3D
- X3D and HTML5: X3DOM proposal, Web3D wiki. Archived October 26, 2016, at the Wayback Machine.
- "X3D to JSON Stylesheet Converter". www.web3d.org.