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

Annex F

(normative)

Full profile
 

--- X3D separator bar ---

cube F.1 General

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

The Full profile of X3D is comprised of all features of the standard.

cube F.2 Topics

Table F.1 provides links to the major topics in this annex.

Table F.1 — Topics

cube F.3 Component support

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

Table F.2 — Components and levels

Component Level Reference
Core 2 7.5 Support levels
Time 2 8.5 Support levels
Networking 3 9.5 Support levels
Grouping 3 10.5 Support levels
Rendering 5 11.5 Support levels
Shape 4 12.5 Support levels
Geometry3D 4 13.4 Support levels
Geometry2D 2 14.4 Support levels
Text 1 15.5 Support levels
Sound 1 16.5 Support levels
Lighting 3 17.5 Support levels
Texturing 3 18.5 Support levels
Interpolation 5 19.5 Support levels
Pointing device sensor 1 20.5 Support levels
Key device sensor 2 21.5 Support levels
Environmental sensor 3 22.5 Support levels
Navigation 3 23.4 Support levels
Environmental effects 4 24.5 Support levels
Geospatial 2 25.4 Support levels
Humanoid animation 1 26.4 Support levels
Non-uniform Rational B-Spline (NURBS) 4 27.5 Support levels
Distributed interactive simulation 2 28.4 Support levels
Scripting 1 29.5 Support levels
Event utilities 1 30.5 Support levels
Programmable shaders 1 31.5 Support levels
CAD geometry 2 32.5 Support levels
Texturing3D 2 33.5 Support levels
Cube map environmental texturing 3 34.5 Support levels
Layering component 1 35.5 Support levels
Layout component 2 36.5 Support levels
Rigid body physics component 2 37.5 Support levels
Picking sensor component 3 38.5 Support levels
Followers component 1 39.5 Support levels
Particle systems component 3 40.5 Support levels
Volume rendering component 4 41.5 Support levels

cube F.4 Conformance criteria

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

In Table F.3 and Table F.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 Full profile; if a X3D file contains any items that exceed these limits, it may not be possible for a X3D browser conforming to the Full 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 Full profile shall be able to present to the user. Fields flagged as "not supported" may be supported by browsers which conform to the Full profile. The word "ignore" in the minimum browser support column refers only to the display of the item; in particular, set_ events to ignored inputOutput fields shall still generate corresponding _changed events.

cube F.5 Node set

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

Table F.3 — Nodes for conforming to the Full profile

Item X3D File Limit Minimum Browser Support
Anchor No restrictions. Full support
Appearance No restrictions. Full support.
Arc2D No restrictions. Full support.
ArcClose2D No restrictions. Full support.
AudioClip 30 second uncompressed PCM WAV. 30 second uncompressed PCM WAV.
Background No restrictions. Full support.
BallJoint No restrictions. Full support.
Billboard Restrictions as for all groups. Full support except as for all groups.
BlendedVolumeStyle No restrictions. Full support.
BooleanFilter No restrictions. Full support.
BooleanSequencer No restrictions. Full support.
BooleanToggle No restrictions. Full support.
BooleanTrigger No restrictions. Full support.
BoundaryEnhancementVolumeStyle No restrictions. Full support.
BoundedPhysicsModel No restrictions. Full support.
Box No restrictions. Full support.
CADAssembly No restrictions. Full support.
CADFace No restrictions. Full support.
CADLayer No restrictions. Full support.
CADPart No restrictions. Full support.
CartoonVolumeStyle No restrictions. Full support.
Circle2D No restrictions. Full support.
ClipPlane At least six planes. Full support.
CollidableOffset No restrictions. Full support.
CollidableShape No restrictions. Full support.
Collision Restrictions as for all groups. Full support except as for all groups. Any navigation behaviour acceptable when collision occurs.
CollisionCollection No restrictions. Full support.
CollisionSensor No restrictions. Full support.
CollisionSpace No restrictions. Full support.
Color 15,000 colours. 15,000 colours.
ColorChaser No restrictions. Full support.
ColorDamper No restrictions. Full support.
ColorInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
ColorRGBA 15,000 colours. 15,000 colours.
ComposedCubeMapTexture No restrictions. Full support.
ComposedShader No restrictions. Full support.
ComposedTexture3D No restrictions. Full support.
ComposedVolumeStyle No restrictions. Full support.
Cone No restrictions. Full support.
ConeEmitter No restrictions. Full support.
Contact No restrictions. Full support.
Contour2D No restrictions. Full support.
ContourPolyline2D 1500 control points. Order 30.
Coordinate 15,000 points. 15,000 points.
CoordinateChaser No restrictions. Full support.
CoordinateDamper No restrictions. Full support.
CoordinateDouble 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.
CoordinateInterpolator2D 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. Full support.
DISEntityManager No restrictions. Full support.
DISEntityTypeMapping No restrictions. Full support.
Disk2D No restrictions. Full support.
DoubleAxisHingeJoint No restrictions. Full support.
EaseInEaseOut No restrictions. Full support.
EdgeEnhancementVolumeStyle No restrictions. Full support.
ElevationGrid 16,000 heights. 16,000 heights.
EspduTransform No restrictions. Full support.
ExplosionEmitter No restrictions. Full support.
Extrusion (#crossSection points)×(#spine points) ≤ 2,500. (#crossSection points)×(#spine points) ≤ 2,500.
FillProperties No restrictions. Full support.
FloatVertexAttribute No restrictions. Full support.
Fog No restrictions. Full support.
FogCoordinate 15,000 coordinates. 15,000 coordinates.
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 (see 2.[I8859-1]).
ForcePhysicsModel No restrictions. Full support.
GeneratedCubeMapTexture No restrictions. Full support.
GeoCoordinate 15,000 points. 15,000 points.
GeoElevationGrid 16,000 heights. 16,000 heights.
GeoLocation Restrictions as for all groups. Full support except as for all groups.
GeoLOD Restrictions as for all groups. Full support.
GeoMetadata No restrictions. Full support.
GeoOrigin No restrictions. Full support.
GeoPositionInterpolator 1000 key-value pairs. 1000 key-value pairs.
GeoProximitySensor No restrictions. Full support.
GeoTouchSensor No restrictions. Full support.
GeoTransform Restrictions as for all groups. Full support except as for all groups.
GeoViewpoint No restrictions. Full support.
Group Restrictions as for all groups. Full support except as for all groups.
HAnimDisplacer No restrictions. Full support.
HAnimHumanoid No restrictions. Full support.
HAnimJoint No restrictions. Full support.
HAnimSegment No restrictions. Full support.
HAnimSite No restrictions. Full support.
ImageCubeMapTexture No restrictions. Full support.
ImageTexture JPEG (2.[JPEG]) and PNG (2.[I15948]) format. Restrictions as for PixelTexture. JPEG (2.[JPEG]) and PNG (2.[I15948]) format. Support as for PixelTexture.
ImageTexture3D No restrictions. Full support.
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.
IndexedQuadSet No restrictions. Full support.
IndexedTriangleFanSet 15,000 total vertices. 15,000 indices in any index field. 15,000 total vertices. 15,000 indices in any index field.
IndexedTriangleSet 15,000 total vertices. 15,000 indices in any index field. 15,000 total vertices. 15,000 indices in any index field.
IndexedTriangleStripSet 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.
IntegerSequencer No restrictions. Full support.
IntegerTrigger No restrictions. Full support.
IsoSurfaceVolumeData Minimum dimensions: 512 width, 512 height, 512 depth. Full support.
KeySensor No restrictions. Full support.
Layer No restrictions. Full support.
LayerSet At least six layers. Full support.
Layout No restrictions. Full support.
LayoutGroup No restrictions. Full support.
LayoutLayer No restrictions. Full support.
LinePickSensor No restrictions. Full support.
LineProperties No restrictions. Full support.
LineSet 15,000 total vertices. 15,000 total vertices.
LoadSensor No restrictions. Full support.
LocalFog No restrictions. Full support.
LOD Restrictions as for all groups. At least first 4 level/range combinations interpreted, and support as for all groups.
Material No restrictions. Full support
Matrix3VertexAttribute No restrictions. Full support.
Matrix4VertexAttribute No restrictions. Full support.
MetadataBoolean No restrictions. Full support.
MetadataDouble No restrictions. Full support.
MetadataFloat No restrictions. Full support.
MetadataInteger No restrictions. Full support.
MetadataSet No restrictions. Full support.
MetadataString No restrictions. Full support.
MotorJoint No restrictions. Full support.
MovieTexture MPEG1-Systems and MPEG1-Video formats (see 2.[I14496-1]). MPEG1-Systems and MPEG1-Video formats (see 2.[I14496-1]). Display one active movie texture.
MultiTexture No restrictions. At least two textures displayed per node with any number specified.

Full support.

MultiTextureCoordinate 15,000 coordinates. 15,000 coordinates.
MultiTextureTransform Restrictions as for all groups. addChildren optionally supported. removeChildren optionally supported. Otherwise, full support except as for all groups.
NavigationInfo No restrictions. Full support.
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.
NurbsCurve 1500 control points. Order 30.
NurbsCurve2D 1500 control points Order 30.
NurbsOrientationInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
NurbsPatchSurface 1500 control points. Order 30.
NurbsPositionInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
NurbsSet No restrictions. Full support.
NurbsSurfaceInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
NurbsSweptSurface 1500 control points. Order 30.
NurbsSwungSurface 1500 control points. Order 30.
NurbsTextureCoordinate 1500 control points. Order 30.
NurbsTrimmedSurface 1500 control points. 10 contours. Order 30. 10 contours.
OrientationChaser No restrictions. Full support.
OrientationDamper No restrictions. Full support.
OrientationInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
OrthoViewpoint No restrictions. Full support.
PackagedShader No restrictions. Full support.
ParticleSystem No restrictions. Full support.
PickableGroup No restrictions. Full support.
PixelTexture 512 width. 512 height. 512 width. 512 height. Display fully transparent and fully opaque pixels.
PixelTexture3D No restrictions. Full support.
PlaneSensor No restrictions. Full support.
PointEmitter No restrictions. Full support.
PointLight No restrictions. Full support.
PointPickSensor No restrictions. Full support.
PointSet 5000 points. 5000 points.
Polyline2D 15,000 vertices. 15,000 vertices.
PolylineEmitter No restrictions. Full support.
Polypoint2D 5000 points. 5000 points.
PositionChaser No restrictions. Full support.
PositionChaser2D No restrictions. Full support.
PositionDamper No restrictions. Full support.
PositionDamper2D No restrictions. Full support.
PositionInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
PositionInterpolator2D Restrictions as for all interpolators. Full support except as for all interpolators.
PrimitivePickSensor No restrictions. Full support.
ProgramShader No restrictions. Full support.
ProjectionVolumeStyle No restrictions. Full support.
ProximitySensor No restrictions. Full support.
QuadSet No restrictions. Full support.
ReceiverPDU No restrictions. Full support.
Rectangle2D No restrictions. Full support.
RigidBody No restrictions. Full support.
RigidBodyCollection No restrictions. Full support.
ScalarChaser No restrictions. Full support.
ScalarDamper No restrictions. Full support.
ScalarInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
ScreenFontStyle No restrictions. Full support.
ScreenGroup No restrictions. Full support.
Script 25 fields of each access type. 25 fields of each access type.
ECMAScript and Java required.
SegmentedVolumeData Minimum dimensions: 512 width, 512 height, 512 depth. Full support.
ShadedVolumeStyle No restrictions. Full support.
ShaderPart No restrictions. Full support.
ShaderProgram No restrictions. Full support.
Shape No restrictions. Full support.
SignalPDU No restrictions. Full support
SilhouetteEnhancementVolumeStyle No restrictions. Full support.
SingleAxisHingeJoint No restrictions. Full support.
SliderJoint No restrictions. Full support.
Sound No restrictions. Full support
Sphere No restrictions. Full support.
SphereSensor No restrictions. Full support.
SplinePositionInterpolator No restrictions. Full support.
SplinePositionInterpolator2D No restrictions. Full support.
SplineScalarInterpolator No restrictions. Full support.
SpotLight No restrictions. Full support.
SquadOrientationInterpolator No restrictions. Full support.
StaticGroup No restrictions. Full support.
StringSensor 100 characters per string. 100 strings. Full support. 100 characters per string. 100 strings.
SurfaceEmitter No restrictions. Full support.
Switch Restrictions as for all groups. Full support except as for all groups.
TexCoordChaser2D No restrictions. Full support.
TexCoordDamper2D No restrictions. Full support.
Text 100 characters per string. 100 strings. 100 characters per string. 100 strings.
TextureBackground No restrictions. All fields fully supported. All texture node types supported in texture fields.
TextureCoordinate 15,000 coordinates. 15,000 coordinates.
TextureCoordinate3D 15,000 coordinates. 15,000 coordinates.
TextureCoordinate4D 15,000 coordinates. 15,000 coordinates.
TextureCoordinateGenerator No restrictions. Full support.
TextureProperties No restrictions. Full support.
TextureTransform No restrictions. Full support.
TextureTransform3D No restrictions. Full support.
TextureTransformMatrix3D No restrictions. Full support.
TimeSensor No restrictions. Full support.
TimeTrigger No restrictions. Full support.
TouchSensor No restrictions. Full support.
Transform Restrictions as for all groups. Full support except as for all groups.
TransformSensor No restrictions. Full support.
TransmitterPDU No restrictions. Full support.
TriangleFanSet 15,000 coordinates. Full support.
TriangleSet 15,000 coordinates. Full support.
TriangleSet2D 15,000 coordinates. Full support.
TriangleStripSet 15,000 coordinates. Full support.
TwoSidedMaterial No restrictions. Full support.
UniversalJoint No restrictions. Full support.
Viewpoint No restrictions. Full support
ViewpointGroup No restrictions. Full support.
Viewport No restrictions. Full support.
VisibilitySensor No restrictions. Always visible.
VolumeData Minimum dimensions: 512 width, 512 height, 512 depth. Full support.
VolumeEmitter No restrictions. Full support.
VolumePickSensor No restrictions. Full support.
WindPhysicsModel No restrictions. Full support.
WorldInfo No restrictions. Full support.

cube F.6 Other limitations

Table F.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 F.3.

Table F.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.
Top-level fields 20 fields 20 fields
Top-level functions 20 functions 20 functions
PROTO/
EXTERNPROTO
30 fields of each access type 30 fields of each access type
 EXTERNPROTO n/a URL references to X3D files conforming to the current profile/component configuration.
PROTO definition nesting depth 5 levels 5 levels.
SFBool No restrictions Full support.
SFColor No restrictions Full support.
SFColorRGBA No restrictions Full support.
SFDouble No restrictions Full support. Range ±1e±12. Precision 1e−7.
SFFloat No restrictions. Full support.
SFImage 512 width. 512 height. 512 width. 512 height.
SFInt32 No restrictions. Full support.
SFMatrix3d No restrictions. Full support.
SFMatrix3f No restrictions. Full support.
SFMatrix4d No restrictions. Full support.
SFMatrix4f 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.
SFVec4d 15,000 values. 15,000 values.
SFVec4f 15,000 values. 15,000 values.
MFColor 15,000 values. 15,000 values.
MFColorRGBA 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.
MFMatrix3d 256 values. 256 values.
MFMatrix3f 256 values. 256 values.
MFMatrix4d 256 values. 256 values.
MFMatrix4f 256 values. 256 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.
MFVec4d 15,000 values. 15,000 values.
MFVec4f 15,000 values. 15,000 values.
--- X3D separator bar ---