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 the design objectives behind the development
of X3D, 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 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
- Eliminate, where possible, unspecified or underspecified behaviors
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 multi-pass/multi-stage
texture mapping
- 2D graphics - Text, 2D vector and planar shapes displayed within the 3D
transformation hierarchy
- Animation - Timers and interpolators to drive continuous
animations; humanoid animation and morphing
- Spatialized audio and video - Audiovisual sources
mapped onto geometry in the scene
- 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
- 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.
For a complete list of X3D features, consult the component descriptions in
clauses 7 through 40 of this part of ISO/IEC 19775.