Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
X3D
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|XML-based file format for 3D computer graphics}} {{For|the language's predecessor|VRML}} {{Hatnote|X3D should not be confused with [[3DXML]], which is a proprietary 3D file format.}} {{pp|small=yes}} {{Infobox file format |name=X3D — Extensible 3D Graphics |icon = |logo = |screenshot = |caption = |extension = {{plainlist|1= * <code>.x3d</code> (XML)<code>, .x3dv</code> (plain text; v = VRML),<code>.x3db, .x3dz, .x3dbz, .x3dvz</code> (compressed; b = binary, z = gzip) }} |_noextcode = yes |mime = {{plainlist| * <code>model/x3d+xml</code> * <code>model/x3d+vrml</code> * <code>model/x3d+binary</code>}} |_nomimecode = yes |type code = |uniform type = |magic = |owner = |released = {{start date and age|1997}} |latest release version = 4.0 |latest release date = {{start date and age|2023}} |genre = [[3D computer graphics]] |container for = |contained by = |extended from = [[VRML]], [[XML]], [[Gzip]] |extended to = |standard = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] 19775/19776/19777 |url = {{URL|http://www.web3d.org/x3d/what-x3d/}} }} '''X3D''' ('''Extensible 3D''') is a set of [[royalty-free]] [[ISO/IEC JTC 1|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). 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 (syntax)|Turtle]] encoding. X3D became the successor to the [[VRML|Virtual Reality Modeling Language]] (VRML) in 2001.<ref>{{cite news |title=Is a 3D web more than just empty promises? |author= Paul Festa and John Borland |work=CNET News.com |date=19 May 2005 |url=http://news.zdnet.co.uk/internet/0,1000000097,39199121,00.htm |archive-url=https://web.archive.org/web/20091112200449/http://news.zdnet.co.uk/internet/0,1000000097,39199121,00.htm |archive-date=12 November 2009}}</ref> X3D provides multiple [[Software extension|extension]]s to VRML (e.g. [[Computer-aided design|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 file|binary]] compression, with strongly typed [[application programming interface|API]]s including [[ECMAScript]], [[Java (programming language)|Java]], [[Python (programming language)|Python]] and other programming languages. <!-- 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 [[Screen space ambient occlusion|SSAO]], CSM and Realtime Environment Reflection/Lighting. The user can also use optimizations including BSP/QuadTree/OctTree or culling in the X3D scene. --> X3D rendering includes both classic (e.g. [[Blinn–Phong reflection model|Blinn-Phong]]) and modern [[Physically based rendering| physically based rendering (PBR)]] methods matching [[GlTF#glTF 2.0|glTF 2.0]] capabilities. Use of custom [[shader]]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 [[HTML audio#Web Audio API and MediaStream Processing API|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|Document Object Model (DOM)]], [[XPath]] and others. == Example == <syntaxhighlight lang="xml"> <?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"> <X3D profile="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> <Shape DEF="MyTriangle"> <IndexedFaceSet coordIndex="0 1 2"> <Coordinate point="0 0 0 1 0 0 0.5 1 0"/> </IndexedFaceSet> </Shape> </Scene> </X3D> </syntaxhighlight> The VRML representation is the same as {{section link|VRML|Example}}, except that the version numbers are changed to reflect the latest X3D standard (<code>#X3D V4.0 utf8</code>). An identifying DEF name is also applied as a node identifier (id). For JSON and binary formats, see Web3D for a list of tools.<ref>{{cite web |title=X3D to JSON Stylesheet Converter |url=https://www.web3d.org/x3d/stylesheets/X3dToJson.html#Tools |website=www.web3d.org}}</ref> ==Applications== There are several applications, most of which are open-source software,<ref>{{cite web|url=http://www.web3d.org/x3d/opensource/ |title=X3D Open Source Projects |publisher=Web3d.org |access-date=2010-02-23}} {{webarchive |url=https://web.archive.org/web/20140206165031/http://www.web3d.org:80/x3d/opensource/ |date=February 6, 2014}}.</ref> which natively parse and interpret X3D files, including the 3D graphics and animation editor [[Blender (software)|Blender]]<ref>[https://savage.nps.edu/X3D-Edit/BlenderExportToX3d.html Blender Model Export to X3D]</ref> and the Sun Microsystems virtual world client [[Project Wonderland]].<ref>{{cite web|url=http://research.sun.com/spotlight/2008/2008-08-19_project_wonderland.html |title=Project Wonderland |publisher=Research.sun.com |date=2008-10-07 |access-date=2010-02-23}} {{webarchive |url=https://web.archive.org/web/20090717102338/http://research.sun.com/spotlight/2008/2008-08-19_project_wonderland.html | date=July 17, 2009}}.</ref> 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<ref>{{cite web|url=http://www.web3d.org/message_boards/viewtopic.php?f=7&t=2080&start=0|title=X3D applet|publisher=Members.shaw.ca|access-date=2010-02-23}} {{webarchive |url=https://web.archive.org/web/20120916230505/http://www.web3d.org/message_boards/viewtopic.php?f=7&t=2080&start=0 |date= September 16, 2012}}.</ref> (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,<ref>{{Cite web|url=https://www.bitmanagement.com/developer/contact/examples/multitexture/drawgroup.html|title=BS Contact DrawGroup|website=www.bitmanagement.com|access-date=10 September 2023}}</ref> Multi-texture,<ref>{{Cite web|url=http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texturing.html#Multitexturing|archive-url=https://web.archive.org/web/20100712005624/http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/texturing.html#Multitexturing|url-status=dead|title=Multitexturing|archive-date=12 July 2010}}</ref> Shader with HLSL and [[OpenGL Shading Language|GLSL]] support,<ref>{{Cite web|url=http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shaders.html|archive-url=https://web.archive.org/web/20100712002450/http://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/shaders.html|url-status=dead|title=Programmable shaders component|archive-date=12 July 2010}}</ref> real-time Render To Texture, Multi Render Target (MRT) and post-processing.<ref>{{Cite web|url=https://www.bitmanagement.com/developer/contact/relnotes72.html|title=BS Contact - Version 7.2 Release Notes|website=www.bitmanagement.com|accessdate=10 September 2023}}</ref> Many demos shows that X3D already supports [[lightmap]], [[normal mapping]], [[Screen space ambient occlusion|SSAO]], CSM and real-time environment reflection along with other virtual effects.<ref>{{Cite web|url=https://www.youtube.com/user/m17design|title=m17design - YouTube|website=www.youtube.com|accessdate=10 September 2023}}</ref> === 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 [[Scalable Vector Graphics|SVG]]. X3DOM is a proposed syntax model and its implementation as a script library<ref>{{Cite web|url=https://www.x3dom.org/|title=- x3dom.org|accessdate=10 September 2023}}</ref> that demonstrates how this integration can be achieved without a browser plugin, using only [[WebGL]] and JavaScript.<ref>[http://www.web3d.org/x3d/wiki/index.php/X3D_and_HTML5#X3DOM_proposal X3D and HTML5: X3DOM proposal], Web3D wiki. {{webarchive |url=https://web.archive.org/web/20161026171643/http://www.web3d.org/wiki/index.php/X3D_and_HTML5 |date=October 26, 2016}}.</ref> ==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 [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|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 [[Extensible MPEG-4 Textual Format|XMT]], defined in [[MPEG-4 Part 11]]. It was designed to provide a link between X3D and 3D content in MPEG-4 (BIFS).<ref>{{cite web|url=http://www.web3d.org/specifications/X3dNodeInventoryComparison-X3dInteractiveMpeg4Interactive.pdf|title=X3D Interactive, X3D MPEG4 Interactive Profile Comparison|website=web3d.org|access-date=10 September 2023}}</ref> 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.<ref>[http://www.web3d.org/about/faq/#process-3 X3D FAQ – "What is the status of the X3D specification?"] {{webarchive |url=https://web.archive.org/web/20070716105659/http://www.web3d.org/about/faq/#process-3 |date=July 16, 2007 }}. Retrieved on November 30, 2007.</ref> ==Alternatives== *[[WebGL]]: JavaScript API for rendering interactive 3D graphics and 2D graphics within any compatible web browser, managed by the Khronos Group *[[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 *[[Universal 3D|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 (virtual reality framework)|A-Frame]]: An HTML-based declarative 3D scene-graph language and interaction framework commonly used for WebVR ==See also== *[[Active Worlds]] [[virtual reality]], a multi-user 3D chat platform *[[Additive Manufacturing File Format]] *[[Blaxxun]], a virtual reality multi-user 3D chat platform *[[Flux (graphics software)|Flux]], freely downloadable VRML/X3D editor/browser, now discontinued *[[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 (game engine)|Unity]], a game engine which can be used online via a browser plugin *[[Virtual tour]] *[[Virtual Environment Software]] *[[Web3D]] and [[Web3D Consortium]] ==References== {{Reflist}} ==External links== *[http://www.web3d.org/ Web3D Consortium official website] *[http://www.web3d.org/x3d/what-x3d X3D official website] *[http://www.web3d.org/specifications/ X3D Specifications: Schema and DOCTYPE Validation] *[http://www.x3dom.org/ X3DOM] {{Vector graphics markup languages|state=uncollapsed}} {{ISO standards}} {{Authority control}} [[Category:3D graphics file formats]] [[Category:Graphics standards]] [[Category:ISO/IEC 19775]] [[Category:Vector graphics markup languages]] [[Category:Virtual reality]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:For
(
edit
)
Template:Hatnote
(
edit
)
Template:ISO standards
(
edit
)
Template:Infobox file format
(
edit
)
Template:Pp
(
edit
)
Template:Reflist
(
edit
)
Template:Section link
(
edit
)
Template:Short description
(
edit
)
Template:Vector graphics markup languages
(
edit
)
Template:Webarchive
(
edit
)