Extensible 3D (X3D)
Part 1: Architecture and base components

Annex E

(normative)

Immersive profile
 

--- X3D separator bar ---

cube E.1 General

This annex defines the X3D components which comprise the immersive profile. This includes not only the nodes which shall be supported but also which fields in the supported nodes may be ignored.

This profile  is targeted towards:

cube E.2 Topics

Table E.1 provides links to the major topics in this clause.

Table E.1 — Topics in this annex

cube E.3 Component support

Table E.2 lists the components and their levels which shall be supported in the Immersive profile. Tables E.2 and E.3 describe limitations on required support for nodes and fields contained within these components.

Table E.2 — Components and levels

Component Level Reference
Core 2 7.5 Support levels
Time 1 8.5 Support levels
Networking 2 9.5 Support levels
Grouping 2 10.5 Support levels
Rendering 3 11.5 Support levels
Shape

2

12.5 Support levels
Geometry3D 3 13.4 Support levels
Geometry2D 1 14.4 Support levels
Text 1 15.5 Support levels
Sound 1 16.5 Support levels
Lighting 3 17.5 Support levels
Texturing 2 18.5 Support levels
Interpolation 1 19.5 Support levels
Pointing device sensor 2 20.5 Support levels
Key device sensor 2 21.5 Support levels
Environmental sensor 2 22.5 Support levels
Navigation 2 23.5 Support levels
Environmental effects 1 24.5 Support levels
Scripting 1 29.5 Support levels
Event utilities 1 30.5 Support levels

cube E.4 Conformance criteria

Conformance to this profile shall include conformance criteria defined by the specifications for those components and levels listed in Table E.2.

In Tables E.2 and E.3, the first column defines the item for which conformance is being defined. In some cases, general limits are defined but are later overridden in specific cases by more restrictive limits. The second column defines the requirements for a X3D file conforming to the Immersive profile; if a X3D file contains any items that exceed these limits, it may not be possible for a X3D browser conforming to the Immersive profile to successfully parse that X3D file. The third column defines the minimum complexity for a X3D scene that a X3D browser conforming to the Immersive profile shall be able to present to the user. The word "ignore" in the minimum browser support column refers only to the display of the item; in particular, set_ events to ignored exposedFields must still generate corresponding _changed events.

cube E.5 Node set

Table E.3 lists the nodes which shall be supported in the Immersive profile and specifies any fields in these nodes for which this profile requires less than full support.

Table E.3 — Nodes for conforming to the Immersive profile

Item X3D File Limit Minimum Browser Support
Anchor No restrictions. Ignore parameter. Ignore description.
Appearance No restrictions. Full support.
AudioClip 30 second uncompressed PCM WAV. 30 second uncompressed PCM WAV. Ignore description.
Background No restrictions. One skyColor, one groundColor, panorama images as per ImageTexture.
Billboard Restrictions as for all groups. Full support except as for all groups.
Box No restrictions. Full support.
Collision Restrictions as for all groups. Full support except as for all groups. Any navigation behaviour acceptable when collision occurs.
Color 15,000 colours. 15,000 colours.
ColorInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
Cone No restrictions. Full support.
Coordinate 15,000 points. 15,000 points.
CoordinateInterpolator 15,000 coordinates per keyValue. Restrictions as for all interpolators. 15,000 coordinates per keyValue. Support as for all interpolators.
Cylinder No restrictions. Full support.
CylinderSensor No restrictions. Full support.
DirectionalLight No restrictions. Not scoped by parent Group or Transform.
ElevationGrid 16,000 heights. 16,000 heights.
Extrusion (#crossSection points)*(#spine points) ≤ 2,500. (#crossSection points)*(#spine points) ≤ 2,500.
Fog No restrictions. "EXPONENTIAL" treated as "LINEAR"
FontStyle No restrictions. If the values of the text aspects character set, family, style cannot be simultaneously supported, the order of precedence shall be: 1) character set 2) family 3) style. Browser must display all characters in ISO 8859-1 character set 2.[I8859].
Group Restrictions as for all groups. Full support except as for all groups.
ImageTexture JPEG and PNG format. Restrictions as for PixelTexture. JPEG and PNG format. Support as for PixelTexture.
IndexedFaceSet 10 vertices per face. 5000 faces. Less than 15,000 indices. 10 vertices per face. 5000 faces. 15,000 indices in any index field.
IndexedLineSet 15,000 total vertices. 15,000 indices in any index field. 15,000 total vertices. 15,000 indices in any index field.
Inline No restrictions. Full support except as for all groups.
url references X3D files conforming to the VRML97 base profile.
LOD Restrictions as for all groups. At least first 4 level/range combinations interpreted, and support as for all groups. Implementations may disregard level distances.
Material No restrictions. Ignore ambient intensity. Ignore specular colour. Ignore emissive colour. One-bit transparency; transparency values ≥ 0.5 transparent.
MovieTexture MPEG1-Systems and MPEG1-Video formats. MPEG1-Systems and MPEG1-Video formats. Display one active movie texture. Ignore speed field.
NavigationInfo No restrictions. Ignore avatarSize. Ignore visibilityLimit.
Normal 15,000 normals 15,000 normals
NormalInterpolator 15,000 normals per keyValue. Restrictions as for all interpolators. 15,000 normals per keyValue. Support as for all interpolators.
OrientationInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
PixelTexture 256 width. 256 height. 256 width. 256 height. Display fully transparent and fully opaque pixels.
PlaneSensor No restrictions. Full support.
PointLight No restrictions. Ignore radius. Linear attenuation.
PointSet 5000 points. 5000 points.
PositionInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
ProximitySensor No restrictions. Full support.
ScalarInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
Script 25 eventIns. 25 eventOuts. 25 fields. 25 eventIns. 25 eventOuts. 25 fields.
No scripting language support required.
Shape No restrictions. Full support.
Sound No restrictions. 2 active sounds. Linear distance attenuation. No spatialization. See E.4.
Sphere No restrictions. Full support.
SphereSensor No restrictions. Full support.
SpotLight No restriction Ignore beamWidth. Ignore radius. Linear attenuation.
Switch Restrictions as for all groups. Full support except as for all groups.
Text 100 characters per string. 100 strings. 100 characters per string. 100 strings.
TextureCoordinate 15,000 coordinates. 15,000 coordinates.
TextureTransform No restrictions. Full support.
TimeSensor No restrictions. Ignored if cycleInterval < 0.01 second.
TouchSensor No restrictions. Full support.
TriangleFan 15,000 coordinates. Full support.
TriangleSet 15,000 coordinates. Full support.
TriangleStripSet 15,000 coordinates. Full support.
Transform Restrictions as for all groups. Full support except as for all groups.
Viewpoint No restrictions. Ignore fieldOfView. Ignore description.
VisibilitySensor No restrictions. Always visible.
WorldInfo No restrictions. Ignored.

cube E.6 Other limitations

Table E.4 specifies limitations unrelated to nodes which are imposed by the Immersive profile.

Table E.4 — Other limitations

Item X3D File Limit Minimum Browser Support
All groups 500 children. 500 children. Ignore bboxCenter and bboxSize.
All interpolators 1000 key-value pairs. 1000 key-value pairs.
All lights 8 simultaneous lights. 8 simultaneous lights.
Names for DEF/PROTO/field 50 utf8 octets. 50 utf8 octets.
All url fields 10 URLs. 10 URLs. URN's ignored.
Support 'http', 'file', and 'ftp' protocols.
Support relative URLs where relevant.
PROTO/
EXTERNPROTO
30 fields, 30 eventIns, 30 eventOuts, 30 exposedFields. 30 fields, 30 eventIns, 30 eventOuts, 30 exposedFields.
EXTERNPROTO  n/a URL references X3D files conforming to the VRML97 base profile
PROTO definition nesting depth 5 levels. 5 levels.
SFBool No restrictions. Full support.
SFColor No restrictions. Full support.
SFDouble No restrictions. Full support. Range ±1e±12. Precision 1e-7.
SFFloat No restrictions. Full support.
SFImage 256 width. 256 height. 256 width. 256 height.
SFInt32 No restrictions. Full support.
SFNode No restrictions. Full support.
SFRotation No restrictions. Full support.
SFString 30,000 utf8 octets. 30,000 utf8 octets.
SFTime No restrictions. Full support.
SFVec2d 15,000 values. 15,000 values.
SFVec2f 15,000 values. 15,000 values.
SFVec2d 15,000 values. 15,000 values.
SFVec3f 15,000 values. 15,000 values.
MFColor 15,000 values. 15,000 values.
MFDouble 1000 values. 1000 values.
MFFloat 1,000 values. 1,000 values.
MFInt32 20,000 values. 20,000 values.
MFNode 500 values. 500 values.
MFRotation 1,000 values. 1,000 values.
MFString 30,000 utf8 octets per string, 10 strings. 30,000 utf8 octets per string, 10 strings.
MFTime 1,000 values. 1,000 values.
MFVec2d 15,000 values. 15,000 values.
MFVec2f 15,000 values. 15,000 values.
MFVec2d 15,000 values. 15,000 values.
MFVec3f 15,000 values. 15,000 values.
--- X3D separator bar ---