X3D

Last updated

X3D — Extensible 3D Graphics
Filename extension
  • .x3d (XML), .x3dv (plain text; v = VRML),.x3db, .x3dz, .x3dbz, .x3dvz (compressed; b = binary, z = gzip)
Internet media type
  • model/x3d+xml
  • model/x3d+vrml
  • model/x3d+binary
Initial release1997;26 years ago (1997)
Latest release
4.0
2023;0 years ago (2023)
Type of format 3D computer graphics
Extended from VRML, XML, Gzip
Standard ISO/IEC 19775/19776/19777
Website www.web3d.org/x3d/what-x3d/

X3D (Extensible 3D) is a set of royalty-free ISO/IEC standards for declaratively representing 3D computer graphics. X3D includes multiple graphics file formats, programming-language API 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).

Contents

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 support includes XML, ClassicVRML, Compressed Binary Encoding (CBE) and a draft JSON encoding. Semantic Web support has also been demonstrated by a Turtle encoding. X3D became the successor to the Virtual Reality Modeling Language (VRML) in 2001. [1] X3D provides multiple 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 compression, with strongly typed APIs including ECMAScript, Java, Python 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 shaders 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 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, Document Object Model (DOM), XPath and others.


Example

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "http://www.web3d.org/specifications/x3d-4.0.dtd"><X3Dprofile="Interchange"version="4.0"xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance"xsd:noNamespaceSchemaLocation="http://www.web3d.org/specifications/x3d-4.0.xsd"><Scene><ShapeDEF="MyTriangle"><IndexedFaceSetcoordIndex="0 1 2"><Coordinatepoint="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 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. [2]

Applications

There are several applications, most of which are 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 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 [6] (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, [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, normal mapping, SSAO, CSM and real-time environment reflection along with other virtual effects. [11]

X3DOM

Striving to become the 3D standard for the Web, X3D is designed to be as integrated into HTML5 pages as other XML standards such as MathML and SVG. 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]

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/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.

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). [14]

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. [15]

Alternatives

See also

Related Research Articles

<span class="mw-page-title-main">XML</span> Markup language by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.

<span class="mw-page-title-main">VRML</span> File format for representing 3D interactive vector graphics

VRML is a standard file format for representing 3-dimensional (3D) interactive vector graphics, designed particularly with the World Wide Web in mind. It has been superseded by X3D.

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 computation, vision acceleration and machine learning. The open standards and associated conformance tests enable software applications and middleware to effectively harness authoring and accelerated playback of dynamic media across a wide variety of platforms and devices. The group is based in Beaverton, Oregon.

PHIGS is an application programming interface (API) standard for rendering 3D computer graphics, considered to be the 3D graphics standard for the 1980s through the early 1990s. Subsequently, a combination of features and power led to the rise of OpenGL, which became the most popular professional 3D API of the mid to late 1990s.

COLLADA 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.

<span class="mw-page-title-main">JSON</span> Open standard file format and data interchange

JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays. It is a common data format with diverse uses in electronic data interchange, including that of web applications with servers.

Humanoid Animation (HAnim) is an approved ISO and IEC standard for humanoid modeling and animation. HAnim defines a specification for defining interchangeable human figures so that those characters can be used across a variety of 3D games and simulation environments.

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 compressed or uncompressed. If the data is compressed, it may be done so using lossy compression or lossless compression. For graphic design applications, vector formats are often used. Some image file formats support transparency.

3DXML is a proprietary 3D file format developed by Dassault Systemes under its 3DVIA Brand. It uses an XML container whose specifications were published. It should not be confused with X3D, the ISO standard XML-based file format for representing 3D computer graphics.

Web3D Consortium is an international not-for-profit, member-funded industry consortium, originally founded in 1997. Web3D Consortium members from governmental, nonprofit and research organizations worldwide, including working alongside individual professional members to collaborate in a consensus process and encouraging development and implementation of open standards for 3D content and services.

Web3D, also called 3D Web, is a group of technologies to display and navigate websites using 3D computer graphics.

3DMLW is a discontinued open-source project, and a XML-based Markup Language for representing interactive 3D and 2D content on the World Wide Web.

<span class="mw-page-title-main">Tony Parisi (software developer)</span>

Tony Parisi, one of the early pioneers in virtual reality and the metaverse, is an entrepreneur, inventor and developer of 3D computer software. The co-creator of Virtual Reality Modeling Language (VRML), he has written books and papers on the future of technology. He works on WebGL and WebVR and has written two books on the former, and an introductory book on virtual reality programming. He is the chief strategy officer at Lamina1. Parisi is also a musician, composer and producer currently working on multiple projects.

<span class="mw-page-title-main">Blaxxun</span> Defunct dotcom bubble VR company

Blaxxun Interactive, originally named "Black Sun Interactive", was one of the first companies to develop a 3D community platform designed for the Internet using VRML and highly scalable multi-user server environments.

<span class="mw-page-title-main">O3D</span>

O3D is an open-source JavaScript API created by Google for creating interactive 3D graphics applications that run in a web browser window or in a XUL desktop application. O3D may be crafted for use in any application area; however, it is geared towards games, advertisements, 3D model viewers, product demos, simulations, engineering applications, control and monitoring systems, and massive online virtual worlds. O3D is currently in Google's incubation lab, and was originally built as a web browser plugin. Since 2010, O3D is a JavaScript library implemented on top of WebGL.

<span class="mw-page-title-main">WebGL</span> JavaScript bindings for OpenGL in web browsers

WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.

A scene description language is any description language used to describe a scene to a 3D renderer, such as a ray tracer. The scene is written in a text editor, as opposed to being modeled in a graphical way, but a 3D modelling program may allow for a scene to be exported to a specified scene description language.

glTF 3D scene and model file format

glTF is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file extensions: .gltf (JSON/ASCII) or .glb (binary). Both .gltf and .glb files may reference external binary and texture resources. Alternatively, both formats may be self-contained by directly embedding binary data buffers. An open standard developed and maintained by the Khronos Group, it supports 3D model geometry, appearance, scene graph hierarchy, and animation. It is intended to be a streamlined, interoperable format for the delivery of 3D assets, while minimizing file size and runtime processing by apps. As such, its creators have described it as the "JPEG of 3D."

References

  1. 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.
  2. "X3D to JSON Stylesheet Converter". www.web3d.org.
  3. "X3D Open Source Projects". Web3d.org. Retrieved 2010-02-23. Archived February 6, 2014, at the Wayback Machine .
  4. Blender Model Export to X3D
  5. "Project Wonderland". Research.sun.com. 2008-10-07. Retrieved 2010-02-23. Archived July 17, 2009, at the Wayback Machine .
  6. "X3D applet". Members.shaw.ca. Retrieved 2010-02-23. Archived September 16, 2012, at the Wayback Machine .
  7. "BS Contact DrawGroup". www.bitmanagement.com. Retrieved 10 September 2023.
  8. "Multitexturing". Archived from the original on 12 July 2010.
  9. "Programmable shaders component". Archived from the original on 12 July 2010.
  10. "BS Contact - Version 7.2 Release Notes". www.bitmanagement.com. Retrieved 10 September 2023.
  11. "m17design - YouTube". www.youtube.com. Retrieved 10 September 2023.
  12. "- x3dom.org" . Retrieved 10 September 2023.
  13. X3D and HTML5: X3DOM proposal, Web3D wiki. Archived October 26, 2016, at the Wayback Machine .
  14. "X3D Interactive, X3D MPEG4 Interactive Profile Comparison" (PDF). web3d.org. Retrieved 10 September 2023.
  15. X3D FAQ – "What is the status of the X3D specification?" Archived July 16, 2007, at the Wayback Machine . Retrieved on November 30, 2007.