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 provides a background to describes the design objectives behind the development
of X3D, and provides an overview of the features of X3D and a description of the X3D specification
process.
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, behavioral 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 behaviors 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, lighting, materials and Physically Based Rendering (PBR) 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
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 40 42 of this part of ISO/IEC 19775.