|
|
X3D Resources |
|
|
Extensible 3D (X3D) Graphics is the royalty-free open standard for publishing, viewing, printing and archiving interactive 3D models
on the Web.
Applications |
Authoring Tools |
Authoring Support |
Books |
Conformance |
Conversions |
Examples |
Export and Import |
Feedback |
License |
Mobile |
Model Search |
PowerPoint |
Programming Languages |
Quality Assurance (QA) |
References |
Security |
Showcase |
Training and Tutorials |
Videos |
VRML and Open Inventor |
Wish List |
Savage Developers Guide |
X3D‑Edit |
X3D Scene Authoring Hints |
X3D Tooltips | X3D Validator | Contact
Numerous resources are available to support both X3D Graphics and its compatible predecessor,
the Virtual Reality Modeling Language (VRML).
Extensible 3D (X3D) is the third-generation successor to the Virtual Reality Modeling Language (VRML),
providing full backwards compatibility and adding functionally equivalent XML and compressed-binary file encodings.
-
Player support for X3D components
provides a feature comparison of major X3D viewers, for each player and each X3D component.
-
A simple example test scene is
HelloWorld.x3d
provided in a variety of X3D encodings and conversions:
(.x3d XML,
.x3dv ClassicVRML,
.wrl VRML97,
.html listing,
.html X_ITE,
.xhtml X3DOM,
.java Java source,
.json JavaScript Object Notation,
.py Python source,
.ttl Turtle source
with SPARQL query,
.x3db compression,
XML canonicalization (C14N), and
.png image)
-
The
HelloWorld.x3d
scene is a simple authoring example that illustrates the minimalist X3D Interchange profile.
Also available: internationalized
Hello World Scenes.
-
Please install one of the following X3D players
to view X3D/VRML scenes and browse these examples.
X3D players and plugins
from Web3D Consortium members:
-
InstantReality is a high-performance X3D player and Mixed Reality (MR) system by Fraunhofer IGD
(Linux, macOS, Windows)
(forum).
-
Special mention.
X3DOM (pronounced "X-Freedom")
implements a high-performance X3D player in open-source JavaScript.
Authors can publish X3D source within an HTML5 page that works in modern Web browsers without prior plugin installation
(get involved
and
forum).
-
FreeWRL/FreeX3D X3D/VRML browser (open-source C).
(Linux, macOS, Windows)
(contact,
(bug tickets).
Also described on
Wikipedia.
-
H3D/H3DViewer
is an open-source C++ API and X3D player
(Linux, macOS, Windows)
(forum).
-
Xj3D
is an open-source Java viewer and application codebase for X3D graphics scenes.
-
GeoVrml Run-Time was originally used for VRML97 GeoVrml examples.
-
Dynamic-3D
is a pure Java-based 3D Graphics Engine for web browsers.
Open source renderer by Mitch Williams.
Other X3D players, not (yet?) Web3D Consortium members:
-
Special mention.
X_ITE X3D Browser
implements a high-performance X3D player in open-source JavaScript.
Authors can publish X3D source within an HTML5 page that works with Web browsers without prior plugin installation.
-
BitManagement's
BS Contact
and
BS Contact Geo
X3D/VRML97 plugins for HTML web browsers (Linux, MacOS, Windows)
(support).
-
Castle Model Viewer (formerly view3dscene)
is a free cross-platform VRML/X3D browser that also supports other 3D model formats
(FreeBSD, Linux, MacOS, Windows)
built by
Castle Game Engine
(forum).
-
Cortona3D Viewer
by Parallel Graphics,
VRML plugin for Netscape or Internet Explorer
(support).
-
GPAC
is an Open Source multimedia framework for presentation technologies (graphics, animation and interactivity)
and packaging formats such as MP4. (Linux, macOS, Windows).
-
Heilan X3D Browser
open-source C++ browser for audio research (Linux, macOS, Windows).
-
libx3d
open-source C++ libraries for X3D.
-
NuGraf
by Okino provides a
3D rendering, translation, viewing & data optimization system
(Windows + emulators
and plugins for other authoring tools)
(support).
-
Octaga Player 5.0
(and Octaga-only
plugin test page)
by
Octaga VS
is a high-performance X3D/VRML browser (Windows)
(support).
Downloads of prior Octaga Player 2.1 also available at
c|net.
-
OpenVRML
is a free cross-platform runtime for VRML and X3D (FreeBSD, Linux, macOS)
(support).
-
Orbisnap
is a free multi-platform standalone VRML97 viewer for visualizing virtual worlds,
and can connect to a
Simulink 3D Animation
server (FreeBSD, macOS, Linux, Unix)
(support).
-
SwirlX3D Free Player by Pine Coast Software (Windows)
(support).
-
V-Slam
browser for virtual and mixed reality devices, also released as
open source
based on Unity3D engine.
Legacy and unsupported X3D players:
-
blaxxun Contact
VRML97 plugin for Netscape or Internet Explorer, and
Matlab plugin
(not supported).
-
CosmoPlayer was created by Silicon Graphics Inc. (SGI) (not supported)
-
Vivaty was the successor to MediaMachines, with eventual acquisitions by Platinum, Computer Associates (CA) and Microsoft.
(corporate history)
-
Flux Player and Flux Studio
X3D/VRML97 viewer plugin and authoring tool for Internet Explorer (Windows)
(not supported).
Also includes download links to Nexternet Pivoron player.
- Flux open-source early release for VRML and X3D, removed by project committers (Windows, Internet Explorer and Firefox).
Sourceforge changed their policy after this incident to eliminate such removals from occurring again.
Thanks to another contributor, this
original early-release codebase
is again available.
-
Vivaty (formerly Flux) Player
X3D/VRML97 plugin for Internet Explorer (Windows)
(not supported).
-
Pivoron
plugin for Netscape or Internet Explorer
(release plans)
from
Nexternet
which was
acquired by MediaMachines in 2001.
Not supported.
Many authoring tools have emerged since X3D can be used for any purpose without royalty fees.
Tool support for X3D components
provides a feature comparison of major X3D authoring tools, for each player and each X3D component.
-
X3D-Edit
is the primary authoring tool used at NPS to create the X3D, Sourcebook and Savage example archives. Available free.
-
AC3D
is a small, simple, easy-to-learn 3D authoring tool that includes support for X3D export
(Linux, macOS, Windows)
(contact).
-
Blender
is an open-source 3D authoring tool that includes support for X3D import/export
(FreeBSD Linux, macOS, Windows)
(download).
-
BS Content Studio Tool
for easy and fast creation of 3D scenes and applications,
from
BitManagement
(support)
November 2014:
new update announced.
-
BS Editor
is the original authoring tool
from
BitManagement.
-
bvhacker
supports editing of
Biovision BVH
files, which is a file format for recording post-processed motion-capture data.
BVH is the basis for
Humanoid Animation (HAnim) Motion Data Animation
capabilities, which are supported in
X3D version 4, Human Animation component, HAnimMotion node.
-
insight3d
is an open-source, image-based modeling tool for creation of buildings from photographs.
-
MeshLab
is an open-source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes
(Win64, MacOS, Linux Snap).
Downloads are available there as
official release,
or else on the
github repository
as a
developer release.
-
ParaView
is a parallel visualization application to visualize large data sets.
-
RawKee X3D Exporter Plug-in for
Maya
by Aaron Bergstrom
-
Rez
provides an open-source framework and tools for translating planetary terrain data and images
to different formats including multi-resolution versions optimized for web browsing.
-
SwirlX3D Editor
is an X3D/VRML authoring environment from Pinecoast Software (Windows)
(support).
-
Seamless3d
is open-source 3D modeling software designed for artists
(support).
Additional reference:
Wikipedia-Seamless3d.
-
SubmarineX3D
is a simple X3D Editor from University of Perugia Italy (Linux, macOS, Windows)
(contact).
-
Titania X3D Editor
is a free standalone X3D/VRML authoring tool primary developed for Ubuntu/Debian operating system.
-
VIM (Vi IMproved) Editor
does syntax highlighting and folding (collapsing of blocks) for both XML and VRML97. Nothing specific for X3D yet.
-
Viper
is a VRML97 source-code parser by
NIST.
-
VrmlPad
is a professional editor for VRML programming.
-
Visualization Toolkit (VTK)
is an open-source toolkit, written in C++, for large scale 3D data visualization that offers X3D export.
Related:
Mayavi
is a Python interactive scripting interface for VTK that includes X3D export of mesh-based surfaces.
-
White Dune
is a graphical VRML97/X3D editor, simple NURBS/Superformula 3D modeller, animation tool, and VRML97/X3DV command-line compiler.
Also includes a converter from X3D to
RenderMan Interface Bytestream (RIB) protocol.
(FreeBSD, macOS, Linux, Unix, Windows).
-
Wings 3D
is an advanced subdivision modeler that is both powerful and easy to use.
It can be used as a free open-source X3D/VRML authoring environment
(Linux, macOS, Windows)
(forum).
-
Open-Source 3D Component Editor using X3DOM
by Fraunhofer IGD is an
example X3D scene editor
that runs in a web browser.
-
Altova XMLSpy
is an
XML development environment for modeling, editing, debugging and transforming XML technologies.
-
XMLSpy provides built-in support for numerous file types, with
native support support added in v2020r2
for X3D (Extensible 3D),
"a file format used for representing and communicating 3D scenes and objects embedded in applications."
Features include context-sensitive parent-child node relationships and attribute values, plus full validation
(screenshot).
-
X3D-XmlSpyProject.spp
(online)
is an overview project for X3D specification-development work.
-
XMLSpy *ContentCatalog.spp project files are also provided with each of the
X3D Example Archives.
-
X3DToolKit
by
INRIA Models and Algorithms for Visualization and Rendering (MAVERICK)
is a portable LGPL free C++ toolkit for loading, displaying and processing X3D models, designed for 3D developers.
-
X3D Java Scene Access Interface Library (X3DJSAIL)
provides standard X3D Java interfaces with concrete implementation classes, all as open source.
This application programming interface (API) library is strongly typed to avoid authoring errors, and
is autogenerated from the
X3D XML schema
and
X3D Unified Object Model (X3DUOM)
to ensure correctness.
Legacy and unsupported X3D authoring tools:
-
Octaga Exporter
directly exported visual effects created using Autodesk 3DS Max into VRML and X3D.
-
Vapour Technology: VRML Authoring Tools for computing orientations (Dizzy, Peek, SpinDoctor and Twister)
-
Vizx3D
(Internet Archive)
3D modeling and animating application that creates X3D v3.0 and VRML97 files.
Features include HAnim 2001 single-mesh avatar support, an improved IndexedFaceSet/NURBS surface editor, subdivided surfaces, and multi-texture functions.
-
Vivaty Studio
(formerly
Flux Studio)
is a high-quality authoring tool
from
Vivaty.
It is an easy-to-use, inexpensive, general-purpose, visually oriented, 3D modeling and animation application
for X3D
(not supported).
This group also produced
Flux Player and Flux Studio
X3D/VRML97 viewer plugin and authoring tool for Internet Explorer (Windows)
(not supported).
Numerous other resources provide support for authoring X3D.
Additional authoring support includes the following assets.
-
Pellucid
is a Java applet that simulates the VRML/X3D illumination model given a default view of a sphere, a default directional light with direction [ -1 -1 -1 ], and a default material.
-
NIST Plugin and Browser Detector for server-side determination of VRML or X3D browser in use
-
Tools often need to support offline validation of content that includes authoritative online urls for the XML DOCTYPE and Schema. An
OASIS specification defines how to map authoritative urls to local copies.
OasisXmlCatalogX3D.xml
is one example how an application can accomplish that.
-
The X3D Working Group is also showing how to best provide
X3D + HTML5
support for the draft
HTML5 Recommendation.
Books on Extensible 3D (X3D) Graphics
X3D Graphics is the international standard for real-time 3D communication.
-
X3D for Web Authors
by Don Brutzman and Leonard Daly, Morgan Kaufmann Publishers, Elsevier, April 2007, 468 pages.
-
WebGl HOTSHOT
by
Mitch Williams,
ISBN-13: 9781783280919, 306 pages, 2014.
Chapter 1
shows how X3D complements WebGL.
-
Visualizing Information Using SVG and X3D
by
Vladimir Geroimenko and
Chaomei Chen, editors,
Springer, 2008.
-
Computer Graphics: From a Small Formula to Cyberworlds
by Alexei Sourin,
3rd edition, Pearson Prentice Hall, Singapore, 385 pages, 2012.
Chapter 14 discusses X3D and VRML.
-
Networked Graphics: Building Networked Games and Virtual Environments
by Anthony Steed
and Manuel Fradinho Oliveira,
Elsevier, 536 pages, 2009.
Chapter 7 discusses X3D, X3D-Edit and DIS.
-
Interactive 3D Multimedia Content:
Models for Creation, Management, Search and Presentation,
edited by Wojciech Cellary and
Krzysztof Walczak,
Springer London, 302 pages, 2012.
Contributed chapters discuss X3D capabilities together with other standards,
then describe significant implemented research work regarding 3D/VR/AR systems.
Most works provide extensions based on the VRML/X3D standards.
Online resource:
Chapter 2, Interactive 3D Content Standards.
-
Digital Simulations for Improving Education: Learning Through Artificial Teaching Environments,
edited by David Gibson (University of Vermont, USA) and Young Kyun Baek (Korea National University of Education, Korea),
IGI Global, 540 pages, April 2009.
-
Core Web3D
by Aaron E. Walsh and
Mikaël Bourges-Sévenier,
Prentice Hall PTR, Upper Saddle River, New Jersey USA, 1088 pages, 2000.
Several chapters discuss developmental versions of X3D.
-
X3D: Programmierung interaktiver 3D-Anwendungen für das Internet,
Peter Schickel and Jörg H. Kloss,
Addison Wesley, December 2009.
-
VRML & X3D for virtual reality
by KyungBae Park, KyungIn Kang and SeungWook Kwak, 21 Century, ISBN-10: 8984681903, 422 pages, 2006 (in Korean).
-
X3D, Who are you? Focus on examples for Web 3D design
by KyungBae Park and SeungWook Kwak, Global, ISBN-13: 9788955024135, 472 pages, 2007 (in Korean).
🔖
Books on Virtual Reality Modeling Language (VRML) 97
VRML design began in 1994 and the language became a stable International Standard in 1997.
Of interest: X3D is a third-generation design that is fully backwards-compatible with the second-generation VRML 97 standard.
Thus all design guidelines and technical details in the following textbooks remains relevant.
-
VRML 2 Sourcebook
by Andrea L. Ames, David R. Nadeau, and John L. Moreland,
John Wiley & Sons, 1996.
(also see
VRML 2 Sourcebook examples
in X3D)
-
Annotated VRML 2.0 Reference Manual
by Rikk Carey and Gavin Bell,
Addison Wesley,
Boston Massachusetts, 1997.
-
Late Night VRML 2.0 with Java
by Bernie Roehl,
Justin Couch,
Cindy Reed-Ballreich, Tim Rohaly and Geoff Brown, Ziff-Davis Press (Macmillan Publishers), 1997.
-
VRML 2.0 Handbook
by Jed Hartman and Josie Wernecke,
Addison Wesley,
Boston Massachusetts, 1996.
Also see the Tenochtitlan examples.
-
VRML: Exploring Virtual Worlds on the Internet,
by Walter Goralski, Matthew Poli, and Peter Vogel, Prentice Hall PTR, January 1997.
-
Das Einsteigerseminar VRML
by Prof. Dr. Rolf Daessler, April 2001, BHV Publishing Group, 498 pages, in German. Available
online.
-
3D User Interfaces with Java 3D
by Jon Barrilleaux, Manning Publications, 2000.
A guide to computer-human interaction in 3D with direct mappings to VRML.
Also available:
VRML Resources.
There are three conformance test suites to help improve
the quality of X3D and VRML players.
The Web3D Consortium offers compliance certification of this last suite.
X3D Conformance Testing Program
describes details.
The Web3D Consortium also supports the
Conformance working group mailing list
which includes
list archives.
Of related interest:
Quality Assurance (QA).
Numerous conversion tools are available for the various encodings of X3D and VRML.
X3D is a direct superset of VRML with three encodings:
XML encoding (.x3d
),
Classic VRML encoding (.x3dv
)
and
VRML97 encoding (.wrl
).
X3D is designed so that all three encodings are equivalent, you can choose to use any of them.
Converting X3D scenes to/from VRML (.wrl) also works well,
since X3D is 3rd-generation VRML.
The functionality provided by the VRML97 specification matches the X3D Immersive Profile.
TODO. Describe how .wrz is gzip-compressed .wrl and so can be easily converted. Include a bookmark for ready reference.
TODO. Check if we ever specified something similar for .x3d files, and also how XML authors do it (for example .xml.zip or whatever)
and includes directions/links.
Related: also see
Export and Import by Applications on this page.
The following applications are known to have X3D or VRML output capabilities.
Additional entries are welcome.
-
Special mention.
Castle Game Engine's
convert everything to X3D
page supports glTF, X3D, VRML, Wavefront OBJ, STL, Collada, 3DS, MD3, Spine JSON and others
(tweet).
This tool further supports development of
X3D version 4.
-
X3D players
providing file-menu conversions (Save As) include
BSContact, OctagaVS(pro), Castle Model Converter, and Xj3D.
-
Xj3D Open Source for X3D/VRML97 includes
command-line and file-menu X3D translators between
all three encodings.
Xj3D can also import Collada files.
-
X3D-Edit
exposes all of these Xj3D conversion capabilities via a
conversion panel embedded under the
X3D...Import and ...Export menus.
X3D-Edit can further
import, export
and also
edit, validate
Collada files.
-
🔖
XSLT Stylesheets convert .x3d scenes into alternate formats and encodings.
These slidesets (and corresponding batch files) are bundled in
X3D-Edit.
-
3D PDF Converter
includes support for X3D export. This capability allows users to easily visualize, validate and then export CAD data
in a suitable format for import into a 3rd Party System.
-
Accutrans 3D by MicroMouse Productions
provides accurate translation of 3D geometry between the file formats used by many popular modeling programs.
-
Anark
is able to export product data into high-precision B-rep and lightweight mesh formats including
SolidWorks, Inventor, ACIS, CATIA V4/V5, Parasolid, STEP, NX (formerly Unigraphics), IGES, COLLADA, DWF, X3D, and VRML.
-
Ayam
is a free open-source 3D modeling environment for the RenderMan interface with
X3D import
and
X3D export.
-
BaconXJF
open-source 3D Web Formats Import-Export Tool for Maya and Maya LT
includes X3D support.
"It's a work in progress, but a good start..."
Created by
Aaron Bergstron,
original author of the RawKee X3D Exporter for Maya.
Demonstration videos
also available.
-
BitManagement
capabilities include
BS Converter for 3ds max
and
BS Converter for Blender.
-
Blender
provides excellent top-level import/export support, as described by
Blender Model Export To X3D using X3D-Edit.
-
CAD Exchanger
is commercial C++ software to view and convert 3D models that supports
multiple formats
including VRML and X3D.
(announcement)
-
Castle Model Converter (formerly tovrmlx3d)
has
Blender export
plus many additional features.
Multiple input formats
can be converted to X3D, VRML and STL.
-
Chisel VRML Optimisation Tool
with
autoinstaller
and
documentation
provided by
Halden Virtual Reality Centre.
Originally built by Trapezium and maintained by
NIST.
-
Cura3D printing software
supports X3D model import. Cura3D can output to multiple 3D printers and also export
G-code.
-
InstantReality X3D encoding converter
is an online translator between
ClassicVrml
or
XML (.wrl) encoding,
and can also convert into
X3DOM outputs
(HTML5 or XHTML5).
Free for non-commercial use.
-
MeshLab
is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes
(Win64, MacOS, Linux Snap)
(download).
-
Modo
by Foundry
is a sophisticated authoring tool that includes X3D export.
-
NIST VRML to X3D Translator
was originally written by
Qiming Wang.
An
updated version of the source
(and a
.zip distribution)
are maintained on SourceForge.
The translator is also bundled in X3D-Edit under the X3D/Import/VRML97 menu.
-
Okino Polytrans/NuGraf
is the premier industry translation tool that can convert
many many different file formats
(including Collada)
with X3D/VRML97
import
export
and also support for
VRML 1.0.
Their
original 2002 press release
describes the central value of the VRML/X3D scene graph as a detailed, extendable design
used in the Okino converter architecture.
-
Open Cascade
is an open source (LGPL) geometry kernel written in C++ uses
PythonOCC
which also includes
X3DOM support.
The Web3D CAD public wiki includes a
STEP to X3D Python script.
-
PDF3D
provides support to convert, edit, store and share 3D data in PDF.
File-format support includes VRML97.
-
Project Rawkee: Open-Source X3D Plugin for Maya
by the
Archaeology Technologies Laboratory (ATL)
of
North Dakota State University (NDSU).
-
SteelVis
(CIS/2 to VRML and IFC Translator, aka CIS/2 Viewer)
by
National Institute of Standards and Technology (NIST)
-
Step Prolog Restful Interface (SPRI) Converter
allows browsing the content of STEP files, which can contain multiple geometric models.
Further information is found on the
Web3D CAD public wiki.
-
SwirlX3D Translator
is an enhanced version of the Viewer that permits Collada and 3DS files to be imported into VRML or X3D (Windows)
(support).
-
Tetra4D
supports
3D PDF conversion
of PRC and U3D models to/from X3D within Adobe Acrobat.
-
Unity3D Game Manager
export:
-
Unreal Realm of Concepts: Unreal to X3D Exporter
by Dave Arendash
-
view3dscene
supports VRML/X3D, Collada, OpenInventor 1.0, 3d Studio Max 3DS, Quake 3 MD3, Wavefront OBJ and Videoscape GEO.
-
Vivaty
has utilities and converters for Google Earth KML/Sketchup, Autodesk 3DS Max, Autodesk Maya, and Unreal.
Vivaty Studio
also includes Collada import.
-
VRML 1.0 to VRML97 Converter
by Octaga
-
VrmlMerge
can convert VRML to X3D, merge VRML 97 files, and provides .wrl examples.
Free for non-commercial use, requires Java.
-
XIOT X3D Input/Output Toolkit library
provides an open source generic C++ toolkit to import and export X3D in its different XML encodings: ASCII and binary.
Original development includes a Fast Infoset (FI) based X3DB compressed binary encoding.
The X3D Examples Archives demonstrate how X3D nodes and scenes work.
Thousands of scenes are provided in all X3D encodings.
You can browse them individually online or download
fully complete, separately installable .zip archives.
More X3D models can be found at
Web3D Examples
and the sites listed at
Additional Example Scenes
below.
A simple example test scene is
HelloWorld.x3d
provided in a variety of X3D encodings:
.x3d XML
.x3dv ClassicVRML,
.wrl VRML97,
.html listing,
.html X_ITE,
.xhtml X3DOM,
.java Java source,
.json JavaScript Object Notation,
.py Python source,
.ttl Turtle source
with SPARQL query,
.java Java source,
.x3db compression,
XML canonicalization (C14N), and
.png image
Special testing distribution.
A comprehensive collection of all JSON example scenes is available at
X3dExampleArchivesJsonScenes.zip
(MD5 checksum)
plus current output from the X3D JSON build process at
build.log.json.txt.
Production notes:
-
README.txt
summarizes archive contents and lists key links.
-
Build scripts are written using
Ant with matching autogenerated
build.xml
files in each archive's root.
-
You can view X_ITE or X3DOM versions of each model by selecting the corresponding links.
This is far easier than the historic approach to install a player plugin
in your Web browser.
-
These examples are maintained by the
Web3D Consortium
and are all protected under an
open source license,
provided free for any use.
-
The
Sourceforge X3D Project
is the site where master versions of most
X3D examples
are maintained.
-
Quality Assurance (QA)
regression testing provides exhaustively thorough validation checks on all X3D example scenes.
-
Each example scene is provided using all X3D file encodings.
-
Zipped example archives start with the directory structure
www.web3d.org/x3d/content/examples
in order to match the online addresses for most examples, and also to
allow side-by-side installation of local archives for easier user access.
🔖
Example scene archive details:
-
🔖
X3D for Web Authors Examples Archive
(license,
README.txt)
-
🔖
X3D for Advanced Modeling Examples Archive
(license,
README.txt)
-
🔖
Basic X3D Examples Archive
(license,
README.txt)
-
🔖
ConformanceNist Test Suite X3D Examples Archive
(license,
README.txt)
-
🔖
HumanoidAnimation X3D Examples Archive
(license,
README.txt)
-
🔖
VRML 2 Sourcebook X3D Examples Archive
(license,
README.txt)
-
🔖
Savage X3D Examples Archive
(license,
README.txt)
-
🔖
SavageDefense X3D Examples Archive (restricted access)
(license,
README.txt)
🔖
Source version control
is available for developers wanting to track or
contribute to these X3D example archives.
-
Use
Netbeans,
X3D-Edit
or some other subversion client
(such as
TortoiseSVN
or
Collabnet)
to check out the version-control source and project information.
-
Decide whether to use
anonymous
access
or else a personal
sourceforge account.
-
You can check out one of the archives (for example, the Basic archive) as follows:
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic
usually to a local directory such as
C:\x3d-code\www.web3d.org\x3d\content\examples\Basic
-
Further links and information available via the
x3d sourceforge project.
Additional X3D example scene collections designed to demonstrate VRML/X3D capabilities include the following.
-
Web3D Consortium Examples
include contributions that highlight Web3D Consortium member achievements.
-
X_ITE X3D Examples
offers an amazing set of interactive models that run in any browser.
This is an outstanding showcase of what is possible with X3D.
-
Castle VRML / X3D demo models
which were produced for the
Kambi/Castle game engine
by Michalis Kamburelis.
-
H3DAPI examples repository
and
example scenes
-
InstantReality examples
inspired by actual studies, small demos, and experiments.
-
IrishSpace
(video)
was a volunteer effort to create a VRML Space Exhibit for the Children of Ireland.
The project resulted in a multimedia space adventure in which a group of future emigrants
set out from Earth aboard the Jeanie Johnston to settle the Solar System.
This content was designed and built by Paul S. Hoffman, Len Bullard, and many other individuals.
-
Alexei Sourin's book
Computer Graphics: From a Small Formula to Cyberworlds
provides online examples including
Virtual Campus
of Nanyang Technical University (NTU) Singapore.
-
Tenochtitlan
is a large VRML site illustrating the 1519 history of
Cortes and Moctezuma on the island city of Tenochtitlan, center of the Aztec Empire.
This content was designed by Delle Maxwell as a companion piece to the
VRML 2.0 Handbook.
-
BitManagement Interactive Demos
-
3D CAD Browser .com
has both commercial and kind-of free (tradable) models available.
Output formats include .x3d and .wrl formats.
The following applications are known to have X3D and VRML input/output capabilities.
Additional entries are welcome.
Related: also see
Conversions and Translation Tools on this page.
-
Autodesk
3DS Max
exports
VRML.
-
Chemistry Markup Language (CML) examples
in the public
X3D Basic Examples Archive
show how to covert
CML models
into X3D
using a simple
stylesheet.
-
CAD Assistant by OpenCascade
is a viewer and converter for 3D CAD and mesh files, free for both personal and commercial use.
CAD Assistant supports
X3D and VRML1.
-
Chimera by UCSF
is a highly extensible program for interactive visualization and analysis of molecular structures and related data.
Chimera exports
X3D
and
VRML97.
-
Clara.io
can be used to create or import models, animate them and render online.
Support is provided for multiple
import/export data exchange
formats.
-
ESRI ArcScene with 3D Analyst extension
can export an assembled GIS scene to VRML and optionally GeoVRML.
-
Jmol
is an open-source Java viewer for three-dimensional chemical
structures, with features for chemicals, crystals, materials and biomolecules.
Jmol can illustrate most molecular-model features via
VRML97
and
X3D (XML)
export.
-
Maple
provides powerful math-oriented technical computing software for engineers, mathematicians, and scientists.
Maple 13 exports X3D.
-
Mathematica
is a powerful computational tool for numerics of any precision, symbolics, or visualization.
Mathematica can
export X3D and VRML.
-
Live Interior 3D Pro
includes
export to VRML and X3D.
-
Integrated Facility Management (IFM)
of Sydney Australia has adopted X3D for display of Building Information Models (BIM) in its
Archibus SISfm product
using X3DOM.
-
OpenJSCAD
(github,
discussion,
tweet)
provides a programming approach to develop models for 3D printing.
OpenJSCAD is inspired by
OpenSCAD,
the Programmers Solid 3D CAD Modeller.
Also getting tracked as part of
X3D for Advanced Modeling: Tool Conversions.
-
PMOD 3D Imaging Rendering Tool (P3D)
enables interactive investigation of volumetric medical data and imagery as part of modeling tool suite.
-
Rhino includes VRML export
and apparently
X3D export as well.
-
SketchUp Pro
by Trimble can
export VRML files
-
SOLIDWORKS by Dassault Systemes
includes
VRML import and export
-
VMD
is a molecular visualization program for displaying, animating, and analyzing
large biomolecular systems using 3D graphics and built-in scripting.
VMD is designed for modeling, visualization, and analysis of biological systems
such as proteins, nucleic acids, lipid bilayer assemblies, etc. and
may be used to view more general molecules.
Export features
include support for X3D, VRML97 and VRML 1.0.
-
VRMLout for AutoCAD and VRML Translator for Inventor
can publish AutoCAD 3D models and Autodesk Inventor assemblies on the Web.
Feedback is welcome on any X3D topic.
Scene authors and interested users are always welcome to participate in the X3D Graphics community.
-
Comments, questions and trouble reports help to improve X3D resources or clarify the X3D specifications.
-
Web3D mailing lists
are active and archived. These are a great place to ask a question or search for earlier answers.
-
Web3D Standards Comment Form
is used for identifying specification issues, detailed bug reports, suggestions and changes.
-
Reporting problems and recommending changes are important steps, they prevent grief for future authors and implementers.
-
Sending in the report gets the issue into the bug-tracking system and also sent to the mailing list for discussion.
-
If you first login as a Web3D Consortium member, a log of your posts is maintained for your convenience.
-
All opinions are valued. Dialog, lessons learned, success stories and alternatives are always considered helpful as part of our technology explorations and mailing-list discussions.
-
Our overarching goal is to compatibly improve X3D examples, tools, and specification prose for the X3D and HAnim International Standards.
-
Dedicated diligence supports long-term usage, interoperability, and archival stability of interactive 3D graphics models for the Web.
-
Since 1994, all VRML and X3D progress has occurred through cooperative community efforts by
industry, academia, agencies and interested professionals.
-
Web3D Consortium members
actively support X3D specification development.
-
We follow an open and proven process, described in our
Standards Submission Policy.
-
Mantis issue tracking
by working-group members keeps track of details, alternatives and resolution for each specification issue.
(Secondary login required for Web3D members.)
Administration details are available on the
Mantis documentation.
-
Web3D Consortium github
(member-only access) is used to maintain editors-draft Web3D specifications in version control.
-
All draft X3D specifications are first developed by X3D Working Group participants.
-
All draft X3D specifications are discussed by the open community on the x3d-public mailing list.
-
Following certification by Web3D Consortium members, member-country delegations in the
International Organization for Standardization (ISO)
ratify and approve final status as an International Standard (IS).
-
Further motivation:
interactive 3D graphics continues to steadily advance, and the Web is the next major frontier.
-
We are working to make 3D a first-class media type on the Web
that has broad usability similar to images, vector graphics, audio and video.
-
Experienced 3D authors know that making a great 3D model takes a lot of work.
-
(Painful) humor:
we have found a task that is just as hard:
rebuilding that same 3D model three years later, because the previous proprietary software is no longer usable.
Ouch.
-
X3D is a good fit for the
Open Web Platform (OWP)
for publishing
rich interactive experiences, powered by vast data stores, that are available on any device
.
Combined technology standards include
HTML5, Cascading Style Sheets (CSS), Javascript, Scalable Vector Graphics (SVG) and MathML.
-
🔖
Get involved! You too can be part of this great progress.
-
Join the ongoing mailing list discussions to learn more and contribute your ideas about 3D on the Web.
-
The
Projects Wish List
lists many interesting developer opportunities with potentially broad impact.
-
Among other things,
Web3D Consortium membership
provides a
safe haven
for companies to carefully look at possible contribution of proprietary technology,
ultimately becoming royalty-free capabilities for unrestricted use on the Web.
-
Anyone can help build the Web. Thanks for considering these important possibilities.
Need something else?
You can
contact Web3D Consortium
or else
contact X3D Working Group cochairs
for any direct or private inquiries.
Questions, suggestions, additions and comments regarding this X3D Resources page are also welcome.
Please see the
Contact
section below.
The
X3D Standards
are royalty free and published openly online by the Web3D Consortium
under a cooperative agreement with the
International Standards Organization (ISO).
It was among the first International Standards to be published online and without charge.
Please
contact Web3D
to request permission to use that work.
There is a mobile subset of the X3D vocabulary called the
X3D Interactive Profile.
Conversion tools are likely to emerge that can down-convert scenes using the
X3D Immersive Profile
or
VRML97
for lightweight mobile and embedded applications.
There has been a lot of dialog about X3D Mixed and Augmented Reality (MAR)
and whether a new X3D Mobile Profile is possible that harmonizes capabilities
for lightweight scenes running with HTML5 on mobile devices, possibly including
essential AR and GPS capabilities. How can such X3D capabilities best be aligned with HTML?
Join the
X3D Graphics public mailing list
to join the discussion, learn more and contribute!
The
X3D Examples archives
include thousands of open-source models contributed by
Web3D Consortium members.
You can also search for X3D models at these sites:
-
3dbar.net
free collections from 3D designers
-
3D Model Search Engine
by Princeton Shape and Retrieval Analysis Group (various sources)
-
Archibase Planet
free model collections from 3D designers
-
archive3d.net model search and download
-
Level of Detail for 3D Graphics models download
-
Okino 3D Computer Graphics Links for models and other assets
-
MakerBot Thingiverse
design community for discovering, making, and sharing 3D printable things
-
Shapeways
3D Printing Service and Marketplace, which also offers guidance on
exporting VRML files for Shapeways.
-
Turbo Squid (for purchase and free)
-
yeggi.com
Search Engine for 3D printable Models
-
yobi3d.com (proprietary, available for non-commercial use)
TODO: we need a more up-to-date way to install X3D plugins for PowerPoint.
Open-source libraries for multiple programming languages are available to support programmers
who want to build, modify and use X3D models in their applications.
Each library uses the strict typing to only permit creation and validation of
high-quality models that conform to node, field and value requirements of the
X3D Architecture.
Correspondences between various file formats and programming languages are shown in the
X3D Graphics Standards: Specification Relationships
diagram.
Languages
|
Maturity
|
Overview
|
Support
|
X3DUOM
|
Stable
|
X3D Unified Object Model (X3DUOM)
is a full set of object-oriented interfaces
for all nodes, fields and statements in the X3D Architecture Specification.
Variants are autogenerated for each X3D version that precisely define all node and field types.
X3DUOM is in turn used to generate a variety of useful products and codebases, allowing them
to track all X3Dv4 developments.
Primary version:
X3dUnifiedObjectModel-4.0.xml
|
X3D 3.0‑4.0
|
Java
|
Stable
|
X3D Java Scene Access Interface Library (X3DJSAIL)
supports programmers with standards-based X3D Java interfaces and objects, all as open source.
Self-validating Java programs are tested for all models in the
X3D Examples Archives.
|
X3D 3.0‑4.0
|
ECMAScript (JavaScript)
|
Experimental
|
X3D JSON Loader (X3DJSONLD)
can load different encodings of X3D models into the JavaScript Document Object Model (DOM),
which is useful for HTML scripting.
It has also implemented server-side X3D programming using
node.js,
Java nashorn jjs
and Python
run-time environments.
Many X3D players have embedded their own JavaScript support for X3D.
Future work may produce an open-source implementation of the X3D Javascript Scene Access Interface (SAI).
|
X3D 3.3‑4.0
|
JSON
|
Stable
|
X3D JavaScript Object Notation (JSON) Encoding
has been fully developed.
The X3D to JSON Stylesheet
converts .x3d XML to .json
and is tested for all models in the
X3D Examples Archives.
Current work is focused on updating the draft X3D JSON Schema to near-final draft-08 status.
|
X3D 3.0‑4.0
|
Python
|
Development
|
X3D Python Scene Access Interface Library (X3DPSAIL)
supports programmers with standards-based X3D Java interfaces and objects, all as open source.
Self-validating Python programs are tested for all models in the
X3D Examples Archives.
Deployed on PyPi as
Python X3D Package x3d.py.
|
X3D 3.0‑4.0
|
C, C++, C#
|
Development
|
X3D C/C++/C# Language Bindings
are under development that match the X3D Scene Access Interface (SAI) specification.
Further updates and a potential release are expected during Summer 2019.
|
X3D 3.3
|
Object Pascal
|
Development
|
Castle Game Engine
is a free open-source 3D and 2D game engine using modern Object Pascal.
|
X3D 3.0‑4.0
|
Much work is active and continuing. We are working to make X3D model
construction, modification and publication both consistent and easy for any programmer.
This work is especially important for
X3D v4 Implementations
to advance the draft specification.
Please join the
x3d-public@web3d.org open mailing list
if you want to get involved.
X3D Quality Assurance (QA) identifies errors and warnings
in order to make X3D scene content more portable and reliable.
Improved Quality Assurance (QA) helps achieve intended results in X3D scenes and metadata.
This is important. providing high confidence that when 3D modeling errors occur, they can be detected and then corrected.
As a result, X3D models can run in many different file formats and programming languages, equivalently and correctly.
Wow, that's a lot!
Detailed build logs
for the
X3D Examples Archives
provide comprehensive conversion records of test processes.
TODO
The
X3D Scene Authoring Hints: Validation
describes DOCTYPE (DTD) and XML Schema validation of X3D scenes in detail.
The
X3D Specifications
are the authoritative reference for determining correctness of X3D scenes.
Of related interest:
Conformance Testing.
Extensible 3D (X3D) Graphics
Open security by design, as specified by W3C's
XML Security Recommendations,
provides the strongest approach for secure Web documents used internationally on the Web.
The .x3d encoding is XML based, which means that the full power of Web Security can be applied to X3D Graphics models.
X3D model security supports multiple existing and emerging capabilities:
-
Multiple forms of validation and
Quality Assurance (QA)
are available to prevent unwanted insertions of malicious content in X3D models.
-
Strongly typed
Metadata nodes
can be inserted in any X3D model. Interchange conventions are expected to emerge with growing usage.
-
Security mechanisms such as encryption and authentication can be applied to high levels of detail
(LOD),
allowing authors to protect intellectual property at high resolution for
authorized users while still rendering simple unrestricted models for other users.
-
XML Security compatibility provides two crucial technologies: the W3C
XML Encryption
and
XML Signature (digital authentication) Recommendations.
-
XML Security mechanisms can be applied to entire scenes in .x3d files (XML documents) or scene subgraphs within an .x3d file (XML fragments).
-
XML Encryption Requirements
include super-encryption, multiple signatures, and also optional declaration of alternative encryption algorithms in the unencrypted envelope header.
-
XML Security software libraries are broadly available and usable by international partners in any context, including Web commerce.
-
Data-centric security is independent of network-transport security.
-
W3C
Efficient XML Interchange (EXI) Working Group
efforts for best practices are ensuring that EXI-based data compression of XML documents can be used compatibly with XML Security.
Example prerequisite: EXI compression must precede encryption or else pseudo-randomization of bits precludes compression benefits.
-
W3C Security Interest Group
serves as a forum for discussion about improving standards and implementations to advance the security of the Web.
-
Web3D Consortium members expect that required support for secure url addresses using
https
and
ssl/tls
protocols is likely to be included in
X3D version 4.0.
-
Full compatibility with XML Security capabilities is required for the next-generation
X3D Efficient Binary Encoding
under development.
-
XML Signature Syntax and Processing Version 2.0,
W3C Working Group Note 23 July 2015,
describes XML digital signature processing rules and syntax.
XML Signatures provide integrity, message authentication, and/or signer authentication services for data of any type, whether located within the XML that includes the signature or elsewhere.
-
XML Signature Best Practices,
W3C Working Group Note 11 April 2013,
collects best practices for implementers and users of the XML Signature specification.
Most of these best practices are related to improving security and mitigating attacks,
yet others are for best practices in the practical use of XML Signature,
such as signing XML that doesn't use namespaces, for example.
-
W3C Recommendation for
Cross-Origin Resource Sharing (CORS)
now defers to the
WhatWG Fetch standard.
Also of interest:
Wikipedia summary
provides precautions which gain increasing importance as X3D pages are embedded in HTML5 pages.
Most of these capabilities are demonstrated and formalized already. Several are already working-group efforts in progress.
Therefore, this emerging combination of capabilities can be considered low risk, with high probability of full convergence eventually occurring.
Security vulnerabilities unique to X3D are relatively few but deserve attention.
-
Inline recursion.
If a scene directly or indirectly tries to Inline or IMPORT itself,
non-terminating recursion is the likely result.
This problem is both a run-time flaw and a security vulnerability.
Since a scene can modify url values, potential violations need to be rechecked at run time.
X3D Specification requirement:
X3D4 Architecture, Networking component, 9.4.2 Inline.
A scene must not Inline or IMPORT itself, directly or indirectly, in order to avoid nonterminating recursion.
X3D players SHALL NOT honor self-referential Inline or IMPORT loops in order to avoid security vulnerabilities."
-
X3D specification review.
Planned work 2023: perform a full security review of all X3D specifications to come up with a
consistent and comprehensive way to document all potential security vulnerabilities.
All review comments and trouble reports are welcome.
Relevant reference:
IETF Best Current Practice (BCP) 61, Strong Security Requirements for Internet Engineering Task Force Standard Protocols.
XML/HTML security resources relevant to X3D scenes:
X3D player and tool support for security:
The Web3D Consortium X3D Working Group participates in the
W3C Security Activity
and
EXI Working Group
to continue aligning X3D with ongoing developments.
Interested?
Member participation
is welcome.
The
X3D Showcase DVD
is produced twice each year the Web3D Consortium for outreach to members and interested individuals.
The
Web3D Conference
includes excellent papers, panels and tutorials each year.
Offered annually since 1995, the conference is
sponsored by
ACM SIGGRAPH
and the
Web3D Consortium.
The
X3D for Web Authors
textbook includes a comprehensive set of online examples, slidesets and videos.
Coverage includes all of VRML and the X3D Immersive Profile.
The
X3D for Web Authors Course Adoption
page lists an introductory tutorial and chapter classes as X3D instruction.
The
VRML 2 Sourcebook
also includes a comprehensive set of online examples and slidesets.
Coverage of the Virtual Reality Modeling Language (VRML) 97 approximately equals
the X3D Immersive Profile.
Additional training and tutorial resources include:
Numerous demonstration videos can be found online that show X3D models and applications in action.
-
Web3D Consortium Videos
showcases many member interesting examples using X3D, VRML and HAnim.
-
Web3D Consortium YouTube Videos
includes multiple
video playlists
organized by topic area.
-
Web3D Conference YouTube Videos
collects and archives videos from the annual
Web3D Conference, now in its 21st year.
-
X3D for Web Authors online course videos
(both on
YouTube
and at
NPS)
-
Bit Management showcase
and additional
vimeo demo videos
-
Fraunhofer IGD YouTube videos
-
Damon Hernandez Metaverse One YouTube videos
-
Michalis Kamburelis Castle Game Engine YouTube videos
-
Sebastian Ullrich - Heart Surgery Simulation with Blender and H3D YouTube video
-
Virginia Tech VTVisionarium YouTube videos
-
VRML X3D and Realtime Web3D YouTube videos by
m17design
-
Archival and Web-based Visualization of Volumetric Scans and Clinical Data for TBI using the X3D International Standard
by Nicholas Polys and Andrew Wood, with proposal coauthored by Don Brutzman
-
Mathworks Matlab Simulink 3D Animation videos,
with
X3D Support,
VRML Support,
and
Use CAD Models with the Simulink 3D Animation Product
pages.
The
X3D for Web Authors book
includes a full set of
course video lessons for learning X3D.
VRML design began in 1994 and the language became a stable International Standard in 1997.
VRML97 is fully compatible with X3D and is the basis of the ClassicVRML .x3d
encoding.
Open Inventor (OI) is an object-oriented 3D toolkit offering a comprehensive solution to interactive graphics programming problems.
Its architecture is a direct predecessor of VRML and X3D.
Of interest: following a Birds of a Feather (BoF) session at
SIGGRAPH 1994,
the original VRML design was directly based on a competitive community selection of the
Open Inventor .iv
format
as being the current "best of breed" for Web markup of scene graphs.
This architectural design similarity provides fundamental common ground between Open Inventor, VRML97 and X3D.
Assets:
Papers:
-
Paul S. Strauss and Rikk Carey,
An object-oriented 3D graphics toolkit,
Silicon Graphics Computer Systems, Mountain View, California.
In Proceedings of ACM SIGGRAPH '92, pages 341-349.
-
Gerd Hesina, Dieter Schmalstieg, Anton Fuhrmann, and Werner Purgathofer,
Distributed Open Inventor: A Practical Approach to Distributed 3D Graphics
Vienna University of Technology, Austria.
In Proceedings of the ACM Symposium on Virtual Reality Software and Technology (VRST '99),
pages 74-81.
X3D Tooltips provide authoring tips, hints and warnings for each node and field in X3D.
X3D 4.0 Tooltips in English (online at
https://www.web3d.org/x3d/tooltips/X3dTooltips.html)
are the primary asset for X3D authors.
Prior versions in multiple languages are also available:
Developer support:
Interested in contributing, by updating an existing set of tooltips or creating a new translation?
X3D Tooltips inquiries
are welcome.
Questions, suggestions, additions and comments about this X3D Resources page are welcome.
Please send them to
Don Brutzman
(brutzman at nps.edu).
Master version of the X3D Resources page is available online at
https://www.web3d.org/x3d/content/examples/X3dResources.html
and available in
Sourceforge version control.
Updated: 27 May 2024