X3D is a royalty-free open standards file format and run-time architecture to represent and communicate 3D scenes and objects using XML. It is an ISO ratified standard that provides a system for the storage, retrieval and playback of real time graphics content embedded in applications, all within an open architecture to support a wide array of domains and user scenarios.
X3D has a rich set of componentized features that can tailored for use in engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, education, and more.
The development of real-time communication of 3D data across all applications and network applications has evolved from its beginnings as the Virtual Reality Modeling Language (VRML) to the considerably more mature and refined X3D standard.
X3D Features at a Glance
- XML Integrated: the key to integration with:
- Web Services
- Distributed Networks
- Cross-platform, inter-application file and data transfer
- Componentized: allows lightweight core 3D runtime delivery engine
- Extensible: allows components to be added to extend functionality for vertical market applications and services
- Profiled: standardized sets of extensions to meet specific application needs
- Evolutionary: easy to update and preserve VRML97 content as X3D
- Broadcast/Embedded Application Ready: from mobile phones to supercomputers
- Real-Time: graphics are high quality, real-time, interactive, and include audio and video as well as 3D data.
- Well-Specified: makes it easier to build conformant, consistent and bug-free implementations
- 3D graphics and programmable shaders – Polygonal geometry, parametric geometry, hierarchical transformations, lighting, materials, multi-pass/multi-stage texture mapping, pixel and vertex shaders, hardware acceleration
- 2D graphics – Spatialized text; 2D vector graphics; 2D/3D compositing
- CAD data – Translation of CAD data to an open format for publishing and interactive media
- Animation – Timers and interpolators to drive continous animations; humanoid animation and morphing
- Spatialized audio and video – Audio-visual 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 and real-time communication – Humanoid animation; geospatial datasets; integration with Distributed Interactive Simulation (DIS) protocols
Overview of X3D Profiles and Conformance
The modular architecture of X3D allows for layered « profiles » that can provide 1) increased functionality for immersive environments and enhanced interactivity or 2) focused data interchange formats for vertical market applications within a small downloadable footprint composed of modular blocks of functionality (« Components »), that can be easily understood and implemented by application and content developers.
A component-based architecture supports creation of different « profiles » which can be individually supported. Components can be individually extended or modified through adding new « levels », or new components can be added to introduce new features, such as streaming. Through this mechanism, advancements of the specification can move quickly because development in one area doesn’t slow the specification as a whole. Importantly, the conformance requirements for a particular piece of content are unambiguosly defined by indicating the profiles, components and levels required by that content.
X3D Baseline Profiles
- Interchange is the basic profile for communicating between applications. It support geometry, texturing, basic lighting, and animation. There is no run time model for rendering, making it very easy to use and integrate into any application.
- Interactive enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlanseSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).
- Immersive enables full 3D graphics and interaction, including audio support, collision, fog, and scripting.
- Full includes all defined nodes including NURBS, H-Anim and GeoSpatial components.
Additional X3D Profiles
- MPEG-4 Interactive is a small footprint version of the Interactive profile designed for broadcast, handheld devices and mobile phones
- CDF (CAD Distillation Format) is in development to enable translation of CAD data to an open format for publishing and interactive media.
X3D Content Authoring & Editing Tools
Tools for authoring X3D objects, scenes, behaviors, and character animation
X3D Viewers, Browsers & Plug-ins
X3D file and scene viewers, web browsers & viewer plug-ins
Developer Toolkits and Libraries
Tools to help developers create X3D applications and integrate X3D-support into existing applications
File Translators & Utilities
Utilities for optimizing and translating 3D data for import and/or use in X3D applications
X3D applications that are targeted for use in specific vertical markets such as simulation, CAD, geographic mapping, medical and prototyping
X3D Collaboration Applications
X3D applications for online collaboration and communication in virtual environments.
Games, Entertainment, and Education
Games, entertainment applications, and media-rich educational applications
File Translators & Utilities