The Virtual Reality Modeling Language
ISO/IEC DIS 14772-1
4 April 1997
This is the VRML/ISO Draft for International Standard
(DIS). This document will be submitted to ISO for a vote. A summary of changes is listed below. See ftp://ftp.megatek.com/pub/puk/Response.doc
for a Word document that lists most of changes made (warning: this is
a very long document).
Schedule
22Feb.................Publish Editor's Draft of VRML97 DIS [done]
22Feb-12Mar...........3 week review period (send comments to rikk@best.com) [done]
14Mar.................Freeze the draft (DIS) [done]
6April................Publish DIS and release ISO ballot
~Jul..................ISO vote
~Sept.................Finalize document and publish International Standard (IS)
This document is the official and complete specification of the
Virtual Reality Modeling Language, (VRML), ISO/IEC DIS 14772.
The Foreword provides background on the standards process
for VRML. The Introduction describes the purpose, design
criteria, and characteristics of VRML. The following clauses define the
specifications for VRML ISO/IEC DIS 14772-1:
-
Scope defines the problem area that VRML addresses.
-
References lists the normative standards referenced
in the specification.
-
Definitions contains the glossary of terminology used
in the specification.
-
Concepts describes various fundamentals of VRML.
-
Fields and Events specifies the
datatypes used by nodes.
-
Nodes defines the syntax and semantics of VRML nodes.
-
Conformance describes the minimum support
requirements for VRML implementations.
There are several annexes included in the specification:
-
Grammar presents the BNF for the VRML file format.
-
Java describes how VRML scripting integrates
with Java.
-
JavaScript describes how VRML scripting integrates
with JavaScript.
-
Examples includes a variety of VRML example files.
-
Bibliography lists the informative, non-standard
topics referenced in the specification.
Here are few helpful links:
Compressed archive (zip)
of VRML97 DIS (coming soon...)
Compressed PostScript of
VRML97 DIS (coming soon...)
Compressed PDF of VRML97
DIS (coming sometime...)
(many minor editorial changes are not listed here)
[Note: Functional changes are in BOLD.]
Overall
-
A large number of typos and document errors have been fixed.
-
ISO document conventions were adopted throughout (due to the fact that
this is an online HTML document, many of these conventions were ignored
or interpreted).
-
Field and Event Reference has been moved to Clause 5, and Node
Reference has been moved to Clause 6.
-
Examples annex has been moved from Annex B to Annex D.
-
Consistent numbering of all sections, subsections, figures, and tables.
-
Annexes (previously called appendices) have been labeled
"normative" and "informative".
-
Removed non-specification language (e.g., user tips)
throughout.
-
Moved all conformance discussion to Clause 7.
Clause 1, Scope
-
This section has been rewritten.
Clause 2, Normative References
-
Several new refererences were added.
-
A few references were clarified.
Clause 3, Definitions
-
Many new definitions were added.
-
Many definitions were clarified.
Clause 4, Concepts
-
This clause has been significantly revised. The order has
been completely rearranged for better presentation. Several new
sections have been added and many sections have been clarified.
-
Two new diagrams were added.
-
+ and - chararcters are illegal first characters for DEF names.
-
children exposedFields are order-dependent (previously this
was undefined).
-
Clarified ccw, solid, and creaseAngle fields.
-
Prototypes have been significantly re-written for clarity. A variety of
cases have been clarified (e.g., scope of DEF names within
PROTOs).
-
Lighting model: fixed redundant ambient term, attentuation term, and
spotlight eqns.
-
Clarified how to interpret various image file formats as texture maps.
-
Field/event names in a ROUTE statement do not require the set_
and _changed prefix/suffix. If a field/event name (in a
ROUTE statement) is not found (e.g. foo), browsers
shall prepend the set_ prefix (set_foo) and append
the _changed suffix (foo_changed) to the name in an
attempt to check if the user is using the shorthand notation.
Clause 6, Nodes Reference
-
Numerous small clarifications and fixes were made throughout.
-
Backgorund: restrict groundAngle field from 0.0 to PI/2, not
PI(this was an error).
-
Cylinder: fixed error in top and bottom calculations (height/2).
-
CylinderSensor: fixed error in defintion of disk rotation.
-
ElevationGrid: fixed several errors in eqns and clarified all fields.
-
Extrusion: fixed errors and major re-write (including a new
figure).
-
FontStyle: changed family field from SFString to MFString
to support orderered list of choices; similar to URL fields.
-
IndexedFaceSet: fixed errors in the figure.
-
MovieTexture: changed duration_changed eventOut from
SFFloat to SFTime to be consistent with AudioClip.
-
NavigationInfo: new value for type field "ANY" (means
browser can do whatever it wants. This was added because several
browsers were doing this anyway (misinterpreting the spec) and thus we
needed a mechanism to support the existing policy. This change implies
that the other NavInfo types are now strictly enforced (see NavigationInfo).
-
NavigationInfo: Clarified that NavInfo type is restrictive (unless
"ANY").
-
Sound: the text has been significantly rewritten for accuracy and
clarity, and a figure has been added.
-
Sound: clarified that the intensity field means audio volume
or loudness, not the technical term audio intensity (which
implies a perceptual logarithmic volume). Note that light intensity
fields are also based on perceptual intensity not energy
intensity--we have tried to design the VRML parameters to be
perceptual controls in order to make authoring easier. Some VRML
browsers may need to perform the log conversion before invoking their
respective audio library.
-
SpotLight: fixed errors in equations.
-
TextureTransform: fixed (reversed) errors in matrix equations (note:
that some browsers may be implemented this literally and must change).
-
TextureTransform: allow scale values from -infinity to
+infinity.
-
Transform: clarified that negative scale is undefined.
-
Transform: fixed errors in matrix equations.
-
Transform: fixed typo that allowed zero scale, (scale
must be > 0.0).
-
Viewpoint: clarified jump = TRUE to mean an instantaneous
hyperjump.
-
Viewpoint: clarified jump transitions for Anchor, and loadURL().
-
Viewpoint: fixed error in FOV text; uses minimum angle for FOV,
not maximum.
Clause 7, Conformance and minimum support requirements
-
This clause was re-written.
-
A variety of additions and changes were made to Annex 7.
Conformance and minimum support requirements; see Table 7-1.
Annex A, VRML Grammar definition
-
+ and - chararcters are illegal first characters for DEF names.
Annex B, Java Scripting Reference
-
A variety of clarifications, fixes, and improvements have been
made. See http://vs.sme.co.jp/~sugino/vrml2.0/Aug4_to_Dec2.txt
for some details.
Annex C, JavaScript Scripting Reference
-
A variety of clarifications, fixes, and improvements have been
made. See http://www.jch.com/~jch/vrml/jsdeltas.html
for partial list of changes.
Annex D, Examples
-
Many errors have been corrected and links to valid .wrl files have been
added.
Annex E, Bibliography
-
Several new references were added.
Annex F, Index
-
Nuked it.
http://www.vrml.org/Specifications/VRML97/DIS/index.html