The Virtual Reality Modeling Language

7. Conformance and Minumum Support Requirements

Version 2.0, Official Draft #3, ISO/IEC 14772

July 15, 1996

7.1 Introduction

7.2 Conformance

7.3 Minimum support requirements

7.1 Introduction

7.1.1 Objectives

This clause provides rules for identifying conforming generators and interpreters of ISO/IEC 14772 along with specifications as to the minimum level of complexity which must be supported.

The primary objectives of these rules are:

  1. to promote interoperability by eliminating arbitrary subsets of, or extensions to, ISO/IEC 14772;
  2. to promote uniformity in the development of conformance tests;
  3. to facilitate automated test generation.

7.1.2 Scope

This clause provides conformance criteria for metafiles, metafile generators, and metafile interpreters.

This clause addresses the VRML data stream and implementation requirements. Implementation requirements address the latitude allowed by VRML generators and interpreters. This clause does not directly address the environmental, performance, or resource requirements of the generator or interpreter.

This clause does not define the application requirements or dictate application functional content within a VRML file.

The scope of this clause is limited to rules for the open interchange of VRML content.

7.2 Conformance

7.2.1 Conformance of metafiles

Conformance of metafiles to ISO/IEC 14772 is defined in terms of the functionality and form specified in Part 1. In order to conform to ISO/IEC 14772, a metafile shall be a syntactically correct metafile.

A metafile is a syntactically correct version of ISO/IEC 14772 if the following conditions are met:

  1. The metafile contains as its first element a VRML header comment node;
  2. All nodes contained therein match the functional specification of the corresponding nodes of ISO/IEC 14772-1. The metafile shall obey the relationships defined in the formal grammar and all other syntactic requirements.
  3. The sequence of nodes in the metafile obeys the relationships specified in ISO/IEC 14772-1 producing the structure specified in ISO/IEC 14772-1. For example, ...
  4. No nodes appear in the metafile other than those specified in ISO/IEC 14772-1 unless required for the encoding technique. All nodes not defined in ISO/IEC 14772-1 are encoded using the PROTO or EXTERNPROTO nodes.
  5. The metafile is encoded according to the rules in the standard clear text encoding in ISO/IEC 14772-1 or such other encodings that are standardized.

7.2.2 Conformance of metafile generators

Conformance of metafile generators is defined in terms of conformance to the functionality defined in ISO/IEC 14772-1. A metafile generator which conforms to ISO/IEC 14772 shall:

  1. generate no syntax in violation of ISO/IEC 14772;
  2. generate metafiles which conform to ISO/IEC 14772;
  3. map the graphical characteristics of application pictures onto a set of VRML nodes which define those pictures within the latitude allowed in ISO/IEC 14772.

7.2.3 Conformance of metafile interpreters

Conformance of metafile interpreters is defined in terms of the functionality in ISO/IEC 14772. A metafile interpreter which conforms to ISO/IEC 14772 shall:

  1. be able to read any metafile which conforms to ISO/IEC 14772;
  2. render the graphical characteristics of the VRML nodes in any such metafile into a graphical image or picture within the latitude defined in ISO/IEC 14772.

7.3 Minimum support requirements

7.3.1 Minimum support requirements for generators

There is no minimum complexity which must be supported by a conforming VRML generator except that the file must contain the required VRML header. Any compliant set of nodes may be generated of arbitrary complexity.

7.3.2 Minimum support requirements for interpreters

This subclause defines the minimum complexity which must be supported by a VRML interpreter. Interpreter implementations may choose to support greater limits but may not reduce the limits described in Table 7-1. When the metafile being interpreted contains nodes which exceed the latitude implemented by the interpreter, the interpreter will attempt to skip that node and continue at the next node. Where latitude is specified in this table for a particular node, full support is required for other aspects of that node.

Issue: This is a first draft of the conformance and is open for discussion and change...rc

Issue: Need to support at least 32?, 64?, 128? levels of hierarchy?

Table 7-1: Minimum support criteria for VRML interpreters
Node Minimum support
All groups

At least 512 children

Ignore bboxCenter and bboxSize
All interpolators At least first 256 key-value pairs interpreted
All strings At least 255 characters per string
All URL fields At least 16 URL's per field

Ignore parameters

Ignore description
Appearance Full support

Ignore description

At least 30 seconds duration

Wavefile in uncompressed PCM format

At least the first specified pair of ground colours and angles interpreted

At least the first specified pair of sky colours and sky angles interpreted
Billboard Full support except as for all groups
Box Full support
Collision Full support except as for all groups
Colour Full support
ColourInterpolator Full support except as for all interpolators
Cone Full support
Coordinate At least first 16384 coordinates per coordinate node supported with indices to others ignored
CoordinateInterpolator Full support except as for all interpolators
Cylinder Full support
CylinderSensor Full support except as for all interpolators
DirectionalLight Global application of light source
ElevationGrid At least 16384 heights per grid

At least 64 joints per extrusion

At least 1024 vertices in cross-section
Fog Full support
FontStyle If non-Latin characters, family can be ignored.
Group Full support except as for all groups

Point sampling

At least JPEG and PNG formats

At least 1024 vertices per face

At least 1024 faces

Ignore ccw

Ignore convex

Ignore solid

At least 1024 vertices per polyline

At least 1024 polylines per set
Inline Full support except as for all groups
LOD At least first 4 level/range combinations shall be interpreted

Ignore ambient intensity

Ignore specular colour

Ignore emissive colour

At least transparent and opaque with values less than 0.5 opaque

At least one simultaneously active movie texture

At least MPEG1-Systems and MPEG1-Video

Ignore avatarSize

Ignore types other than "WALK", "FLY", "EXAMINE", and "NONE"

Ignore visibilityLimit
Normal At least first 16384 normals per normal node supported with indices to others ignored
NormalInterpolator Full support except as for all interpolators
OrientationInterpolator Full support except as for all interpolators
PixelTexture At least 256256 image size
PlaneSensor Full support
PointLight Full support
PointSet At least 4096 points per point set
PositionInterpolator Full support except as for all interpolators
ProximitySensor Full support
ScalarInterpolator Full support except as for all interpolators

At least 32 eventIns

At least 32 fields

At least 32 eventOuts
Shape Full support

At least 3 simultaneously active sounds

At least linear sound attenuation between inner and outer ellipsoids

At least spatialization across the panorama being viewed

At least 2 priorities
Sphere Full support
SphereSensor Full support

At least radians of beam width

At least radians of cut-off

Linear fall off from beam width
Switch Full support except as for all groups
Text At least UTF-8 character encoding transformation format
TextureCoordinate At least first 16384 texture coordinates per texture coordinate node supported with indices to others ignored
TextureTransform Full support
TimeSensor Full support
TouchSensor Full support
Transform Full support except as for all groups

Ignore fieldOfView

Ignore description
VisibilitySensor Full support
WorldInfo Full support

Contact,, or with questions or comments.
This URL: