Virtual Reality Modeling Language Specification
Document Change Log
Version 2.0, ISO/IEC WD 14772
August 4, 1996
8/4/96 (rc):
-
Released VRML 2.0 Specification.
8/1/96 (rc):
-
Many minor fixes (spelling, links, grammar, etc.)
7/30-31/96 (rc):
7/29/96 (rc):
-
Changed CylinderSensor's offset
type from SFRotation --> SFFloat.
-
Changed default Viewpoint position to
0 0 10 - this was an agreed upon change from a while ago that I forgot
to integrate. Helps novices with world building.
-
Moved "Concepts - Grouping and Children Nodes" from
4.9.3 to 4.3.1.
7/27/96 (rc):
-
Updated Java Reference from Sony.
-
Changed Fog's default visibilityRange
from 1000 to 0 (off by default!).
-
Clarifed Extrusion node - either 1 or N scale and orientation
values are required. If 1, then apply to all spine pts - if N then one
for each spine pt. This changed the scale defaults BACK
to the original 1 1 (rather than the [1 1, 1 1]
change made after Draft 3).
-
Added PLAIN style to FontStyle
(was "").
-
Many, many small clarifications.
7/24/96 (rc):
-
Added new Script functions to "Concepts
- Scripting": loadURL(...) and setDescription(...).
-
Changed FontStyle justify
field from SFString to MFString as per the Puk-Marrin-Jan
referendum.
-
New section in Concepts "4.9.7 Time Dependent Nodes"
describing shared info on TimeSensor, MovieTexture,
and AudioClip. Several important time-based behavior issues
were clarified.
-
TimeSensor, MovieTexture, and AudioClip have
been re-written and clarified. Some important clarifications have been
made.
-
TimeSensor ignores stopTime if stopTime <=
startTime (this used to be a strict inequality) This change
provides consistency with AudioClip and MovieTexture
and enables a "restart" of time dependent nodes via events
at a single point in time.
7/23/96 (rc):
7/22/96 (rc):
-
Assorted small fixes.
-
Clarified Viewpoint binding and jump behavior.
7/21/96 (rc):
-
Added Box/Cone/Cylinder figures.
-
Many clarifications and small fixes.
-
Clarified "Concepts - Sensors" section (added Anchor ref).
-
concepts: MIME types model/vrml and x-world/x-vrml.
7/19-20/96 (rc):
-
Many small corrections and clarifications.
-
Clarified PROTOs; especially the IS rules.
-
Clarified Background and AudioClip (thanks to Daniel
Woods and Chris Fouts).
7/18/96 (rc):
-
TimeSensor clarifications (thans to Dan Woods and Chris
Fouts). Especially w.r.t. fraction_changed outputting 1.0 at
end of cycle.
-
Changed AudioClip's duration_changed
eventOut type changed from SFFloat to SFTime. This was a mistake.
-
Updated latest java.html from Sony.
-
Clarified PROTO:
-
first node is the type of the proto (not first node with an IS)
-
DEF's within a PROTO are not exported
-
Changed Inline to support generic VRML
file syntax (not restricted to child nodes). This was done to be
symmetric/consistent with VRML files and prototype rules.
-
Many typos and grammar fixes.
-
Changed Exrusion scale default
->
scale [ 1 1, 1 1 ]
.
7/17/96 (rc):
-
Clarified SpotLight text and added figure.
-
Clarified the Binding Node behavior in concepts.html. Bind means
top-of-stack, etc.
-
Clarified that instanced binding nodes have undefined results.
-
Changed Viewpoint bindTime_changed
to bindTime
7/15/96 (rc):
-
Publish official Draft #3.
7/12-14/96 (rc):
-
Fixed lots of links.
-
Lots of minor error correctsions and clarifications.
7/11/96 (rc):
-
Released unofficial draft of Draft #3.
-
Combined all examples into the spec/part1/examples.html section.
-
Changed Switch's whichChild to whichChoice to
be consistent with choice field naming.
-
Added "+" and "-" to illegal first characters for
names.
-
Clarified PlaneSensor to default to the local XY plane (the
text had refs to both XY and XZ).
-
Fixed lots of typos and minor errors.
-
Added links/ref from nodesRef.html to concepts.html on Grouping nodes (addChildren
et al fields) and Bounding boxes (bbox* fields), and
removed redundant explanations.
-
Changed *Interpolator's value exposedField to keyValue.
This avoid the confusion that the value_changed eventOut is
tied directly to the value exposedField.
7/10/96 (rc):
-
Added Gavin Bell's execution model section to concepts.html. This
reordered the section and impacted Scripting and Time sections.
7/9/96 (rc):
-
Added/updated missing/old sections (java, conformance, etc.).
-
Clarified that DEF, USE, PROTO, EXTERNPROTO, TRUE, FALSE, NULL,
eventIn, eventOut, field, exposedField, IS, and TO are illegal names
(concepts.html).
-
Sony: Java.html: Remove base node class which implements Node.
7/8/96 (Sony) (to Java Reference):
-
Add base node classes which implement Node.
7/7/96 (rc):
-
Numerous style and structure changes as per ISO
meeting.
-
Changed SFImage (and thus PixelTexture) to use RGBA (A =
alpha), rather than RGBT (T=transparency). This change was motivated by
the fact that most image formats and rendering libraries specify in
terms of alpha or opacity, not transparency.
-
Created new sections as per ISO (empty for now).
-
Added section numbers to Concepts section.
-
Moved long examples out of Concepts into examples.html.
7/3/96 (rc): (note: many of these changes
were part of cm's pre-nuptial spree, the rest were undo's of cm's
changes...rc)
-
Viewpoint description field was restored to
non-exposed as per Draft 2b. Since this field is a hint to the browser,
it may not have any effect and thus should not be encouraged to be
changed.
-
TouchSensor hit* eventOuts where changed to be hit*_changed
as per naming convention.
-
Shape appearance and geometry fields were
exposed.
-
PointLight and SpotLight default radius
changed to 100 meters (from 1m).
-
NavigationInfo's avatarSize field defaults were
changed to a more typical avatar size (from a radius of 1 meter to an
avatar with a radius of 0.25m, eye height of 1.6m, and maximum step
height of 0.75m). Also, the bind_changed event out was
changed to isBound as per the field naming exceptions.
-
isActive eventOut was added to MovieTexture to be
consistent with the AudioClip node.
-
Added set_*index eventIns to IndexedFaceSet and IndexedLineSet.
This enables the geometry to be changed from a script.
-
FontStyle fields were restored to not exposed to keep
the implementation easier and since multiple FontStyles can give most
of the effect needed.
-
Fog was changed as follows: the size field was
removed, Fog is now a bindable node (thus only one is active
at a time and no need for size), fogType was added
for more fog effects, and set_bind and isBound events
were added to allow binding. This change was made mostly to make the
implementation easier (multiple Fog nodes with limits was extremely
difficult to implement). Default visibilityRange changed
from 1 to 1000. The two values of fogType are: LINEAR and EXPONENTIAL
(originally the second type was named "FOG" and thus not very
clear). ; )
-
CylinderSensor, PlaneSensor, and SphereSensor
had offset and autoOffset exposed fields added -
this fixes a major problem with these sensors. See
concepts.html#DragSensors for for a summary and see nodesRef.html for
specifics per node.
-
Background's bind_changed changed to isBound
as per style exception in Concepts.
-
Clarified field naming exceptions in Concepts (see
/concepts.html#FileSyntaxandStructure).
-
All events with the name *Time_changed that represent actual
timestamp had the _changed suffix removed, as per the style
exception defined in Draft 2. This was done for readability and
comprehension.
-
All bbox_size fields defaults changed from (0,0,0) to
(-1,-1,-1). Where (-1,-1,-1) means unspecified by the user (and thus up
to the browser to compute), and (0,0,0) defines an infinitely small,
(i.e. point), bbox. Added section to Key Concepts on bboxes
(.../spec/concepts.html#BoundingBoxes).
-
Removed "_" from add_children and remove_children fields of
group nodes.
-
duration eventOut on AudioClip was changed to duration_changed.
-
Decided not to pluralize the MF fields - made all fields singular (w/
exception of children).
7/2/96 (rc):
-
Updated to Working Draft #3 titles and date. Most of these are
described in the 7/3 log.
7/5/96 (Sony) (to Java Reference):
-
The return value of createVrmlFromURL() changes from Node to void.
-
The return value of createVrmlFromString() changes from Node to Node[].
-
Add 'createVrmlFromURL' and 'addRoute' example(thanks to Justin Couch
(jtc@hq.adied.oz.au))
7/3/96 (Sony) (to Java Reference):
-
Change from 'interface Node' to 'class Node'.
-
Inline script part is deleted.(thanks to Mik
Clark(raz89@dial.pipex.com))
7/1/96 (Sony) (to Java Reference):
-
Add 'File extension' and 'MIME type' section.
-
Add 'Exception' classes example(thanks to Gad
Barnea(barnea@easynet.fr)).
6/27/96 (Sony) (to Java Reference):
-
The return value's type of Node's getValue() method
changed from 'ConstField' to 'Field'.
-
Add 'shutdown()' method to 'Script' class.
-
Add 'getWorldTitle()' and 'setWorldTitle()' methods
to 'Browser' class.
-
Add the description on how to resolve user-defined classes(thanks to
Mik Clarke (RAZ89@DIAL.PIPEX.COM)).
6/14-24/96 (cfm):
-
Lots of undocumented changes. NOTE: I have attempted to document
then in later log messages above. (7/2/96...rc).
6/14/96 (cfm):
-
Updated External API to reflect discussions.
-
Offer HTML, compressed HTML and compressed Postscript versions of spec.
6/5/96 (cfm):
-
Added first draft of External API and externalBindings (for review).
-
Added Script voting page
6/4/96 (rc):
-
Released Draft #2b.
-
Reinstated the Java Reference section (added link to front
page).
-
Moved the VRMLScript Reference section to an equal level to
the Java Reference.
-
Removed any statements REQUIRING a scripting language (until further
notice).
-
Added link to the External API section (TBD).
5/30/96 (rc):
5/29-30/96 (rc):
-
Renamed ElevationGrid fields: verticesPerColumn/Row
to x/yDimension, renamed gridSize to x/ySpacing
- due to many requests and inquiries.
-
Various document fixes and final cleanup, spell-check, and details.
-
scriptType was removed from the Script node - use the
data: or vrmlscript: syntax.
5/28/96 (rc):
-
Added bboxCenter, bboxSize, add_children and
remove_children eventIns to Anchor, Billboard, and
Collision.
-
Background's sky/groundRange field renamed to sky/groundAngle
for clarity.
-
Daniel Woods re-wrote the Interpolators sections in concepts.html and
nodesRef.html (all Interpolators) - mostly clarifications and
improvements.
5/21-27/96 (rc):
-
Background URL fields changed from pos/neg/xyz to backUrl,
bottonUrl, frontUrl, leftUrl, rightUrl, and topUrl to
remain consistent with keeping url in all URL field names.
-
Browser camera is child of the current Viewpoint (at all
times). Current NavigationInfo is automatically parented to
current Viewpoint too.
-
Added jump exposedField to Viewpoint node - if TRUE,
then when binding to Viewpoint, browser must move current
view to this Viewpoint.
-
Binding rules for Background, NavigationInfo, and Viewpoint
(see concepts) were clarified - multiple set_bind of TRUE
simply move the node to top of stack (not added twice), while set_bind
FALSE of an unbound node have no effect.
-
For nested hierarchies of ProxitySensors or VisibilitySensors,
all sensors output. If instanced, the user the union of the boxes to
test against.
-
Various clarifications and consistency improvements to TouchSensor,
CylinderSensor, PlaneSensor, and SphereSensor.
-
Merged DiskSensor into CylinderSensor - one sensor
can do both.
-
For nested hierarchies of TouchSensor/CylinderSensor/PlaneSensor/SphereSensor,
the lowest node outputs. If siblings, then each one outputs. If
instanced, then check each instance every test.
-
For nested hierarchies of Collisions, the nearest collision
and lowest node outputs. If instanced, then check each instance every
test.
-
Changed all eventIns and eventOuts to use the recommended naming
syntax: set_foo and foo_changed (exceptions for Bool and Time eventOuts
- use isFoo for Bool and fooTime for Time).
-
Spec does not comment on whether Examine view mode (or any mode for
that matter) performs collision detection - this left up to the
browsers.
-
ProximitySensors do send pos/orient outputs when
viewer exits.
-
LineSet and PointSet nodes do not perform collisions
(since they have no area).
-
Clarified sensors edge conditions - browser needs to handle this.
-
Significant changes to TimeSensor - defaults have changed
and evaluation has been clarified and changed.
-
Changed bind and isBound to set_bind and
bind_changed in Background, NavigationInfo, and Viewpoint
nodes to be consistent with naming recommendations.
-
Clarified TouchSensor to output hit* events when
pointer moves regardless if isActive is TRUE -- this enables
drag-n-drop actions.
-
Moved file syntax defs to top of node sections in Node Reference.
-
NavigationInfo - recommend that near plane = 1/4 avatar
size.
-
Re-wrote VisibilitySensor section - clarifications only.
-
Changed VisibilitySensor's bboxCenter and bboxSize
exposedFields to center and size in order to clarify
that these boxes are not necessarily bounding boxes and to make more
consistent with ProximitySensor's box specs.
-
Added the missing isActive field to PlaneSensor.
-
Replaced TimeSensor's discrete field with cycleTime
eventOut - much simpler.
-
Re-wrote TimeSensor and AudioClip for clarity.
-
Removed VisibilitySensor's isActive field and added
the field enabled.
-
Spell check on NodeRef.html.
-
Moved sections at the top of Node Reference (e.g. Lights and
Lighting) to Key Concepts.
-
A variety of minor style changes and clarifications to Node
Reference and Key Concepts.
5/9/96 (rc):
-
Improved TimeSensor section
-
Miscellaneous clarifications
4/19/96 (rc):
-
Clarified ideal spatial Sound implementation
-
ProximitySensor bbox size of (0 0 0) no longer uses the
parent's bbox - it disables the sensor.
-
Changed all url fields to be exposedFields (Anchor, AudioClip, Inline,
*Texture, Script)
-
Removed numPoints from PointSet.
4/18/96 (rc):
http://vag.vrml.org/VRML2.0/DRAFT1/spec.main.html
4/17/96 (rc):
-
Changed comma to be a whitespace character
-
Added parameters field to Anchor
-
Changed Anchor fields to be exposed
4/12/96 (cm):
-
Fixed lots of links and caught some instances of old node names
-
Fixed error in Anchor example caught by mott
-
Got rid of duplicate FontStyle description caught by jkent
-
Got rid of image field in ImageTexture node
-
Fixed error in NavigationInfo of misnamed and duplicated
avatarSize field
4/2/96 (rc):
-
Changed ClickSensor to TouchSensor (as per Denton,
almost)
-
Major update/rewrite Text and FontStyle nodes and
description (thanx to Jan H.).
-
Redesigned texture nodes: renamed Texture2 to ImageTexture,
created MovieTexture, and created PixelTexture (no
URL, just pixels)
-
Changed Fog's maximumVisibility to visibilityRange
-
Changed BoxProximitySensor to ProximitySensor (since
there's only one now)
-
Removed hit* fields and enabled field from PlaneSensor
-
Changed all URL fields (e.g. filename) to `url' - let's face it these
are URLs, not files (e.g. data:...").
-
Removed WWW prefix from all nodes . Too many nodes now have
URLs in them - prefer to keep the names simple and clear.
-
Made the following changes to simplify: Coordinate3 -> Coordinate, Texture2Transform
-> TextureTransform, TextureCoordinate2 -> TextureCoordinate.
-
Changed Cube to Box ( to be more geometrically
correct), and merged fields into a single size Vec3f. (Note that Sphere
is a sphere since it is defined by a radius, not 3 radii.)
-
Minor Fog re-write and field name change
-
Added bind and isBound fields to NavInfo, Viewpoint, Background,
and wrote the section Bindable Leaf Nodes.
-
Added clickTime to TimeSensor and re-defined time as
absolute (not relative)
3/24/96 (rc):
-
Re-organized and alphabetized nodes in Node Ref
-
Added Billboard
-
Replaced PointSound and DirectedSound with Sound
and AudioClip
-
Changed/updated GeneralCylinder to Extrusion
3/23/96 (rc):
-
Texture2Transform fields exposed
-
Disallowed exposed fields in Script nodes
-
ColorInterpolate's "eventOut outValue" changed from MF to
SFColor to match the Material node
-
Re-wrote the Interpolator's section - added more detail
-
Lots of minor re-org to improve readability
-
Added WWWMovieTexture and ImageTexture
-
Changed Texture2 to WWWTexture2 - removed image field
3/5/96(cm): Removed voting booth. Added BNF syntax
section to spec. Misc. edits to spec.
1/24/96(cm): Added questions to the voting booth.
1/24/96(cm): More spec refinements, more logos and a
Sample Software section.
1/23/96(cm): Added API and major spec update.
1/16/96(cm): First public version.
1/8/96 (gb): Created.
This URL: http://vrml.sgi.com/moving-worlds/spec/changeLog.html