Extensible 3D (X3D)
Part 1: Architecture and base components
Introduction
General
Extensible 3D (X3D) is a software standard for defining interactive
web- and broadcast-based 3D content integrated with multimedia. X3D is intended
for use on a variety of hardware devices and in a broad range of application
areas such as engineering and scientific visualization, multimedia presentations,
entertainment and educational titles, web pages, and shared virtual worlds.
X3D is also intended to be a universal interchange format for integrated 3D
graphics and multimedia. X3D is the successor to the Virtual Reality Modeling
Language (VRML), the original ISO standard for web-based 3D graphics (ISO/IEC
14772). X3D improves upon VRML with new features, advanced application
programmer interfaces, additional data encoding formats, stricter conformance,
and a componentized architecture that allows for a modular approach to supporting
the standard.
This section describes the design objectives behind the development
of X3D and provides an overview of the features of X3D.
Design objectives
X3D has been developed to meet a specific set of market and technical requirements.
To meet these requirements, X3D has adopted the following design objectives:
- Separate the runtime architecture from the data encoding,
- Support a variety of encoding formats, including the Extensible Markup Language (XML),
- Add new graphical, behavioural and interactive objects,
- Provide alternative application programmer interfaces (APIs) into the 3D scene,
- Define subsets of the specification ("Profiles") that meet different market needs,
- Allow for the specification to be implemented at varying levels of service, and
- Eliminate, where possible, unspecified or underspecified behaviours.
X3D features
X3D has a rich set of features to support applications such as engineering
and scientific visualization, multimedia presentations, entertainment and
educational titles, web pages, and shared virtual worlds. The X3D feature
set includes:
- 3D graphics - Polygonal geometry, parametric geometry,
hierarchical transformations, advanced materials and lighting for Physically Based Rendering (PBR), multi-pass/multi-stage
texture mapping,
- 2D graphics - Text, 2D vector and planar shapes displayed within the 3D
transformation hierarchy,
- Animation - Timers and interpolator to drive continuous
animations; humanoid animation and morphing,
- Humanoid Animation - full-fidelity representations of human skeleton with motion animation,
- Metadata - comprehensive inclusion of typed metadata sets,
- Spatialized audio and video - Sound generation and rendering, audiovisual sources
mapped onto geometry in the scene, support for Web Audio API [W3C-WebAudio]
and MIDI 2.0 [MIDI 2.0],
- User interaction - Mouse-based picking and dragging;
keyboard input,
- Navigation - Cameras; user movement within the
3D scene; collision, proximity and visibility detection,
- User-defined objects - Ability to extend built-in
X3D browser functionality by creating user-defined data types,
- Scripting - Ability to dynamically change the scene
via programming and scripting languages,
- Networking - Ability to compose a single X3D scene out of assets
located on a network; hyperlinking of objects to other scenes or assets located
on the World Wide Web; improved control of loading, refresh rates and security,
- Physical simulation - Humanoid animation; geospatial
datasets; integration with Distributed Interactive Simulation (DIS) protocols,
- Geospatial positioning - Ability to accurately position X3D scene
objects geospatially.,
- CAD geometry – ability to represent CAD models mapped from CAD
systems.,
- Layering – Ability to organize X3D scenes into rendering groups
so that objects in each layer can overlay objects in underlying layers.,
- Support for programmable shaders – Ability to replace the X3D
lighting model with custom shader programs.,
- Particle systems – Ability to generate systems of particles that
can represent fire, smoke, and other such effects, and
- Volume rendering – Ability to specify and render volumetric data
sets, as used within medical imaging, for example.
For a complete list of X3D features, consult the component descriptions in
clauses 7 through 42 of this document.