Extensible 3D (X3D)
    Part 1: Architecture and base components
Introduction
 
 
 General
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
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 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.
