VRML97 logo

8 Core profile

--- VRML separator bar ---

+ 8.1 Introduction and table of contents

8.1.1 Introduction

This clause defines the VRML components which comprise the Core 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 8.1 lists the subjects covered.

8.1.2 Table of contents

Table 8.1 -- Table of contents, Core profile

 8.1 Introduction and table of contents
   8.1.1 Introduction
   8.1.2 Table of contents

 8.2 Conformance criteria

 8.3 Node set

 8.4 Other limitations

 

--- VRML separator bar ---

+ 8.2 Conformance criteria

In Tables 8.2 and 8.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 VRML file conforming to the core profile; if a VRML file contains any items that exceed these limits, it may not be possible for a VRML browser conforming to the core profile to successfully parse that VRML file. The third column defines the minimum complexity for a VRML scene that a VRML browser conforming to the core profile shall be able to present to the user. Fields flagged as "not supported" may be supported by browsers which conform to the core profile. The word "ignore" in the minimum browser support column refers only to the display of the item; in particular, set_ events to ignored exposedFields shall still generate corresponding _changed events.

--- VRML separator bar ---

+ 8.3 Node set

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

Table 8.2 -- Nodes for conforming to the core profile

Item
VRML File Limit Minimum Browser Support
Anchor No restrictions. addChildren not supported. removeChildren not supported. Ignore parameter. Ignore description.
Appearance No restrictions. textureTransform not supported.
Background No restrictions. groundAngle and groundColor not supported. texture treated as background image FALSE. stretchToFit not supported. backURL, frontURL, leftURL, rightURL, topURL are not supported. One skyColor
Color 15,000 colours. 15,000 colours.
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.
DirectionalLight No restrictions. ambientIntensity not supported. Not scoped by parent Group or Transform.
Group Restrictions as for all groups. addChildren not supported. removeChildren not supported. Otherwise as for all groups.
ImageTexture JPEG and PNG format. Restrictions as for PixelTexture. JPEG and PNG format. Support as for PixelTexture. GIF is patented by Univac. Do we really want to require support for GIF? PNG provides the same if not better functionality, is an ISO standard, and is unencumbered.
IndexedFaceSet 10 vertices per face. 5000 faces. Less than 65,535 indices. set_colorIndex not supported. set_normalIndex not supported. normal not supported. Only convex indexed face sets supported. Hence, convex not supported. For creaseAngle, only 0 and radians supported. normalIndex not supported.10 vertices per face. 5000 faces. 65,535 indices in any index field. Face list shall be well-defined as follows:
  1. Each face is terminated with -1, including the last face in the array.
  2. Each face contains at least three non-coincident vertices.
  3. A given coordIndex is not repeated in a face.
  4. The vertices of a face shall define a planar polygon.
  5. The vertices of a face shall not define a self-intersecting polygon.
IndexedLineSet 15,000 total vertices. 15,000 indices in any index field. set_colorIndex not supported. set_coordIndex not supported. 15,000 total vertices. 15,000 indices in any index field.
Inline No restrictions. Full support except as for all groups.
url references VRML files conforming to the base profile
Material No restrictions. ambientIntensity not supported. shininess not supported. specularColour not 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 not supported. speed not supported. type not supported. Ignore visibilityLimit.
OrientationInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
PointSet 5000 points. 5000 points.
PositionInterpolator Restrictions as for all interpolators. Full support except as for all interpolators.
Shape No restrictions. Full support.
TextureCoordinate 65,535 coordinates. 65,535 coordinates.
TimeSensor No restrictions. Ignored if cycleInterval < 0.01 second.
Transform Restrictions as for all groups. addChildren not supported. removeChildren not supported. Otherwise, full support except as for all groups.
Viewpoint No restrictions. Ignore fieldOfView. Ignore description.
WorldInfo No restrictions. Ignored.

--- VRML separator bar ---

+ 8.4 Other limitations

Table 8.3 specifies other aspects of VRML functionality which are supported by this profile. Note that general items refer only to those specific nodes listed in Table 8.2.

Table 8.3 --
Limitations in other aspects

Item
VRML 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 VRML files conforming to the base profile
PROTO definition nesting depth 5 levels. 5 levels.
SFBool No restrictions. Full support.
SFColor No restrictions. Full support.
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.
SFVec2f 15,000 values. 15,000 values.
SFVec3f 15,000 values. 15,000 values.
MFColor 15,000 values. 15,000 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.
MFVec2f 15,000 values. 15,000 values.
MFVec3f 15,000 values. 15,000 values.

--- VRML separator bar ---