Extensible 3D (X3D)
Part 1: Architecture and base components
Annex C
(normative)
Interactive profile
This annex defines the X3D components which comprise the Interactive 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:
Table C.1 provides links to the major topics in this clause.
Table C.1 — Topics in this annex
Table C.2 lists the components and their levels which shall be supported in the Interactive profile. Tables C.2 and C.3 describe limitations on required support for nodes and fields contained within these components.
Table C.2 — Components and levels
Component | Level | Reference |
---|---|---|
Core | 1 | 7.5 Support levels |
Time | 1 | 8.5 Support levels |
Networking | 1 | 9.5 Support levels |
Grouping | 2 | 10.5 Support levels |
Rendering | 1 | 11.5 Support levels |
Shape | >1 | 12.5 Support levels |
Geometry3D | 2 | 13.4 Support levels |
Lighting | 2 | 17.5 Support levels |
Texturing | 1 | 18.5 Support levels |
Interpolation | 1 | 19.5 Support levels |
Pointing device sensor | 2 | 20.5 Support levels |
Key device sensor | 1 | 21.5 Support levels |
Environmental sensor | 1 | 22.5 Support levels |
Navigation | 1 | 23.5 Support levels |
Environmental effects | 1 | 24.5 Support levels |
Event utilities | 1 | 30.5 Support levels |
Conformance to this profile shall include conformance criteria defined by the specifications for those components and levels listed in Table C.2.
In Tables C.3 and C.4, 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 Interactive profile; if a X3D file contains any items that exceed these limits, it may not be possible for a X3D browser conforming to the Interactive 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 Interactive profile shall be able to present to the user. Fields flagged as "not supported" may be supported by browsers which conform to the Interactive profile. The word "ignore" in the minimum browser support column refers only to the display of the item; in particular, set_ events to ignored fields shall still generate corresponding _changed events.
Table C.3 lists the nodes which shall be supported in the Interactive profile and specifies any fields in these nodes for which this profile requires less than full support.
Table C.3 — Nodes for conforming to the Interactive profile
Item | X3D File Limit | Minimum Browser Support |
---|---|---|
Anchor | No restrictions. | addChildren optionally supported. removeChildren optionally supported. Ignore parameter. Ignore description. |
Appearance | No restrictions. | textureTransform optionally supported. |
Background | No restrictions. | groundAngle and groundColor optionally supported. backURL, frontURL, leftURL, rightURL, topURL are optionally supported. skyAngle optionally supported. One skyColor. |
BooleanSequencer | No restrictions. | Full support. |
BooleanTimeTrigger | No restrictions. | Full support. |
Box | No restrictions. | Full support. |
Color | 15,000 colours. | 15,000 colours. |
ColorInterpolator | Restrictions as for all interpolators. | Full support as for all interpolators. |
Cone | No restrictions. | Full support. |
Coordinate | 65,535 points | 65,535 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 | No restrictions. | Full support. |
Group | Restrictions as for all groups. | addChildren optionally supported. removeChildren optionally supported. Otherwise as for all groups. |
ImageTexture | JPEG and PNG format. Restrictions as for PixelTexture. | JPEG and PNG format. |
IndexedFaceSet | 10 vertices per face. 5000 faces. Less than 65,535 indices. | Only convex indexed
face sets supported. Hence, convex optionally supported. For creaseAngle,
only 0 and π radians supported. 10 vertices per face. 5000 faces. 65,535 indices in any
index field. Face list shall be well-defined as follows:
|
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 Interactive profile |
IntegerSequencer | No restrictions. | Full support. |
IntegerTrigger | No restrictions. | Full support. |
KeySensor | No restrictions. | Full support. |
Material | No restrictions. | ambientIntensity optionally supported. shininess optionally supported. specularColour optionally supported. A Material with emissiveColour not equal to (0,0,0), diffuseColor equal to (0,0,0) is an unlit material. One-bit transparency; transparency values ≥ 0.5 transparent. |
NavigationInfo | No restrictions. | avatarSize optionally supported. speed optionally supported. Ignore visibilityLimit. For type, only "ANY", "FLY", "EXAMINE", and "LOOKAT" modes supported. |
NodeSequencer | No restrictions. | Full support. |
Normal | 15,000 normals | 15,000 normals |
OrientationInterpolator | Restrictions as for all interpolators. | Full support except as for all interpolators. |
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. | position_changed optionally supported. orientation_changed optionally supported. |
ScalarInterpolator | Restrictions as for all interpolators. | Full support except as for all interpolators. |
Shape | No restrictions. | Full support. |
Sphere | No restrictions. | Full support. |
SphereSensor | No restrictions. | Full support. |
SpotLight | No restriction | Ignore beamWidth. Ignore radius. Linear attenuation. |
StringSensor | No restrictions. | Full support. |
Switch | No restrictions | Full support. |
TextureCoordinate | 65,535 coordinates. | 65,535 coordinates. |
TimeSensor | No restrictions. | Ignored if cycleInterval < 0.01 second. |
TouchSensor | No restrictions. | Full support. |
Transform | Restrictions as for all groups. | addChildren optionally supported. removeChildren optionally supported. Otherwise, full support except as for all groups. |
Viewpoint | No restrictions. | Ignore fieldOfView. Ignore description. |
WorldInfo | No restrictions. | Ignored. |
Table C.4 specifies other aspects of X3D functionality which are supported by this profile. Note that general items refer only to those specific nodes listed in Table C.3.
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/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. |
SFBool | No restrictions. | Full support. |
SFColor | No restrictions. | Full support. |
SFDouble | Mp 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. |
SFVec3d | 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. |
MFVec3d | 15,000 values. | 15,000 values. |
MFVec3f | 15,000 values. | 15,000 values. |