X3D file structure
This article or section is currently under construction
In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")
Introduction
X3D scene files have a common file structure:
- File header (XML, ClassicVRML, Compressed Binary)
- X3D header statement
- Profile statement
- Component statements (optional)
- Meta statements (optional)
- X3D root node
- X3D scene graph child nodes
We shall shortly describe these elements below.
File and X3D header
Profiles, components
X3D X3D has a modular architecture that includes four baseline profiles which are are predefined collections of components. In addition, authors can specify more precisely what components are needed. Components are predefined collections of nodes and match chapters in the specification.
This tells the X3D browser what level of support is needed for run-time operation
Each profile can be augmented by adding other components
- Interchange is the basic profile for communicating between applications. It support geometry, texturing, basic lighting, and animation
- 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 (animated interactive Avatars) and GeoSpatial components.
Meta statements
Meta statements provide information about the X3D scene as a whole
Information is provided as name-value pairs, for example
<meta name='created' value='1 January 2008'/>
This approach is thus very general and a wide variety of metadata can be represented. The X3D approach matches same approach used by HTML for regular hypertext web pages.