X3D (Extensible 3D) is a set of
royalty-free
Royalty-free (RF) material subject to copyright or other intellectual property rights may be used without the need to pay royalties or license fees for each use, per each copy or volume sold or some time period of use or sales.
Computer standards ...
ISO/IEC standards
ISO/IEC JTC 1, entitled "Information technology", is a joint technical committee (JTC) of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). Its purpose is to develop, maintain and ...
for declaratively representing
3D computer graphics
3D computer graphics, sometimes called Computer-generated imagery, CGI, 3D-CGI or three-dimensional Computer-generated imagery, computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian coor ...
. X3D includes multiple graphics file formats, programming-language
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
definitions, and run-time specifications for both delivery and integration of interactive network-capable 3D data. X3D version 4.0 has been approved by
Web3D Consortium, and is under final review by ISO/IEC as a revised International Standard (IS).
X3D is specifically designed to work across diverse devices by using the Web Architecture. X3D provides a range of 3D functionality through Profiles, from basic asset Interchange and CADInterchange to Interactive, MPEG-4 Interactive, Medical, Immersive, and Full Profiles. Anatomically thorough support is also available for Humanoid Animation (HAnim) body structure and motion. The ‘X’ in X3D means Extensible: custom vendor and research component extensions can be added to standard functionality.
X3D
file format
A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
support includes
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
, ClassicVRML, Compressed Binary Encoding (CBE) and a draft
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
encoding.
Semantic Web
The Semantic Web, sometimes known as Web 3.0, is an extension of the World Wide Web through standards set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable.
To enable the encoding o ...
support has also been demonstrated by a
Turtle
Turtles are reptiles of the order (biology), order Testudines, characterized by a special turtle shell, shell developed mainly from their ribs. Modern turtles are divided into two major groups, the Pleurodira (side necked turtles) and Crypt ...
encoding. X3D became the successor to the
Virtual Reality Modeling Language (VRML) in 2001. X3D provides multiple
extension
Extension, extend or extended may refer to:
Mathematics
Logic or set theory
* Axiom of extensionality
* Extensible cardinal
* Extension (model theory)
* Extension (proof theory)
* Extension (predicate logic), the set of tuples of values that ...
s to VRML (e.g.
CAD
Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
,
geospatial
Geographic data and information is defined in the ISO/TC 211 series of standards as data and information having an implicit or explicit association with a location relative to Earth (a geographic location or geographic position). It is also call ...
,
humanoid animation,
NURBS
Non-uniform rational basis spline (NURBS) is a mathematical model using basis splines (B-splines) that is commonly used in computer graphics for representing curves and surfaces. It offers great flexibility and precision for handling both analy ...
, etc.), the ability to encode the scene using an XML
syntax
In linguistics, syntax ( ) is the study of how words and morphemes combine to form larger units such as phrases and sentences. Central concerns of syntax include word order, grammatical relations, hierarchical sentence structure (constituenc ...
as well as the
Open Inventor
Open Inventor, originally IRIS Inventor, is a C++ object-oriented retained mode 3D graphics toolkit designed by SGI to provide a higher layer of programming for OpenGL. Its main goals are better programmer convenience and efficiency. Open Inve ...
-like syntax of VRML97, or
binary
Binary may refer to:
Science and technology Mathematics
* Binary number, a representation of numbers using only two values (0 and 1) for each digit
* Binary function, a function that takes two arguments
* Binary operation, a mathematical op ...
compression, with strongly typed
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
s including
ECMAScript
ECMAScript (; ES) is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is stan ...
,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (prog ...
and other programming languages.
X3D rendering includes both classic (e.g.
Blinn-Phong) and modern
physically based rendering (PBR) methods matching
glTF 2.0 capabilities. Use of custom
shader
In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
s using three platform-specific shader languages is also defined. Authors can employ rich multimedia capabilities including various image and movie formats. Fully spatialized aural rendering applies W3C
Web Audio API capabilities, plus audio inputs digitized using
MIDI
Musical Instrument Digital Interface (; MIDI) is an American-Japanese technical standard that describes a communication protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, ...
2.0 or other sound formats.
All X3D file encodings and programming-language APIs have equivalent expressive power, matching functional definitions in the X3D Architecture standard. Thus X3D can work with open standards including
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
,
Document Object Model (DOM),
XPath
XPath (XML Path Language) is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) in 1999, and can be used to compute values (e.g., strings, numbers, or ...
and others.
Example
The VRML representation is the same as , except that the version numbers are changed to reflect the latest X3D standard (
#X3D V4.0 utf8
). An identifying DEF name is also applied as a node identifier (id).
For JSON and binary formats, see Web3D for a list of tools.
Applications
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
A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
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
Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
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
OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipe ...
support, real-time Render To Texture, Multi Render Target (MRT) and post-processing. Many demos shows that X3D already supports
lightmap
A lightmap is a data structure used in lightmapping, a form of surface caching in which the brightness of surfaces in a virtual scene is pre-calculated and stored in texture maps for later use. Lightmaps are most commonly applied to static o ...
,
normal mapping
In 3D computer graphics, normal mapping, or Dot3 bump mapping, is a texture mapping technique used for faking the lighting of bumps and dents – an implementation of bump mapping. It is used to add details without using more polygonal modeling, ...
,
SSAO, CSM and real-time environment reflection along with other virtual effects.
X3DOM
Striving to become the 3D standard for the Web, X3D is designed to be as integrated into
HTML5
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
pages as other XML standards such as
MathML
Mathematical Markup Language (MathML) is a pair of mathematical markup languages, an application of XML for describing mathematical notations and capturing both its structure and content. Its aim is to natively integrate mathematical formulae ...
and
SVG
Scalable Vector Graphics (SVG) is an XML-based vector graphics format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sin ...
. X3DOM is a proposed syntax model and its implementation as a script library that demonstrates how this integration can be achieved without a browser plugin, using only
WebGL
WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
and JavaScript.
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
ISO
The International Organization for Standardization (ISO ; ; ) is an independent, non-governmental, international standard development organization composed of representatives from the national standards organizations of member countries.
Me ...
/
IEC
The International Electrotechnical Commission (IEC; ) is an international standards organization that prepares and publishes international standards for all electrical, electronic and related technologies. IEC standards cover a vast range of ...
.
Liaison and cooperation agreements are also in place between the
Web3D Consortium and the
World Wide Web Consortium
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
(W3C),
Open Geospatial Consortium
The Open Geospatial Consortium (OGC) is an international voluntary consensus standards organization that develops and maintains international standards for geospatial content and location-based services, sensor web, Internet of Things, Geographi ...
(OGC),
Digital Imaging and Communications in Medicine
Digital Imaging and Communications in Medicine (DICOM) is a technical standard for the digital storage and transmission of medical images and related information. It includes a file format definition, which specifies the structure of a DICOM file ...
(DICOM) and the
Khronos Group
The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
.
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.
X3D FAQ – "What is the status of the X3D specification?"
. Retrieved on November 30, 2007.
Alternatives
*WebGL
WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
: JavaScript API for rendering interactive 3D graphics and 2D graphics within any compatible web browser, managed by the Khronos Group
*glTF
glTF (Graphics Library Transmission Format or GL Transmission Format and formerly known as WebGL Transmissions Format or WebGL TF) is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file exte ...
: a standard file format for three-dimensional scenes and models managed by the Khronos Group
*COLLADA
COLLADA (for '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 specificatio ...
: interchange file format for interactive 3D applications, managed by the Khronos Group
* O3D: developed by Google
*U3D
Universal 3D (U3D) is a compressed file format standard for 3D computer graphics data.
The format was defined by a special consortium called ''3D Industry Forum'' that brought together a diverse group of companies and organizations, including ...
: Ecma International standard ECMA-363
*VRML
VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graph ...
: precursor of X3D
*3MF
3D Manufacturing Format or 3MF is an open source file format standard developed and published by the 3MF Consortium.
3MF is an XML-based data format designed specifically for additive manufacturing. It includes information about materials, colors ...
: An XML-based format that includes 3D additive manufacturing data such as material properties.
*A-Frame
An A-frame is a basic structure designed to bear a Structural load, load in a lightweight economical manner. The simplest form of an A-frame is two similarly sized Beam (structure), beams, arranged in an angle of 45 degrees or less, attached a ...
: An HTML-based declarative 3D scene-graph language and interaction framework commonly used for WebVR
See also
*Active Worlds
''Active Worlds'' is an online virtual world, developed by ActiveWorlds Inc., a company based in Newburyport, Massachusetts, and launched on June 28, 1995. Users assign themselves a name, log into the ''Active Worlds'' universe, and explore 3D vi ...
virtual reality
Virtual reality (VR) is a Simulation, simulated experience that employs 3D near-eye displays and pose tracking to give the user an immersive feel of a virtual world. Applications of virtual reality include entertainment (particularly video gam ...
, a multi-user 3D chat platform
* Additive Manufacturing File Format
* Blaxxun, a virtual reality multi-user 3D chat platform
*Flux
Flux describes any effect that appears to pass or travel (whether it actually moves or not) through a surface or substance. Flux is a concept in applied mathematics and vector calculus which has many applications in physics. For transport phe ...
, freely downloadable VRML/X3D editor/browser, now discontinued
*List of vector graphics markup languages
An image file format is a file format for a digital image. There are many formats that can be used, such as JPEG, PNG, and GIF. Most formats up until 2022 were for storing 2D images, not 3D ones. The data stored in an image file format may be c ...
*MeshLab
MeshLab is a 3D mesh processing software system that is oriented to the management and processing of unstructured large meshes and provides a set of tools for editing, cleaning, healing, inspecting, rendering, and converting these kinds of mesh ...
open source mesh processing system that can export VRML/X3D
*Open XML Paper Specification
Open XML Paper Specification (also referred to as OpenXPS) is an open specification for a page description language and a fixed-document format. Microsoft developed it as the XML Paper Specification (XPS). In June 2009, Ecma International adop ...
* OZ Virtual
*Seamless3d
Seamless3d is an open-source 3D modeling software available under the MIT license.
The models for the virtual reality world Techuelife Island were created using Seamless3d technology. Techuelife Island is showcased by Blaxxun as an example of wh ...
, free Open Source 3D modeling software for Microsoft Windows
*Unity
Unity is the state of being as one (either literally or figuratively). It may also refer to:
Buildings
* Unity Building, Oregon, Illinois, US; a historic building
* Unity Building (Chicago), Illinois, US; a skyscraper
* Unity Buildings, Liverpoo ...
, a game engine which can be used online via a browser plugin
*Virtual tour
A virtual tour is a simulation of an existing location, usually composed of a sequence of videos, still images or 360-degree images. It may also use other multimedia elements such as sound effects, music, narration, text and floor map.
The phras ...
* Virtual Environment Software
* Web3D and Web3D Consortium
References
External links
Web3D Consortium official website
X3D official website
X3D Specifications: Schema and DOCTYPE Validation
X3DOM
{{Authority control
3D graphics file formats
Graphics standards
ISO/IEC 19775
Vector graphics markup languages
Virtual reality