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.
Table 8.1 lists the subjects covered.
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.
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:
- Each face is terminated with -1, including the last face in the array.
- Each face contains at least three non-coincident vertices.
- A given coordIndex is not repeated in a face.
- The vertices of a face shall define a planar polygon.
- 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. |
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. |