Moving Worlds VRML 2.0 Node Changes from VRML 1.0
Draft #2, May 30, 1996
This document provides a very brief list of the changes to the set of predefined
node types for Moving Worlds. It briefly describes all the newly added nodes, summarizes the changes to VRML 1.0 nodes, and lists the VRML 1.0 nodes that have been deleted in Moving Worlds. (For fuller descriptions of each node type, click the
type name to link to the relevant portion of the Moving Worlds specification
proposal.) Finally, this document briefly describes the new field types in Moving Worlds.
The new node types are listed by category, using the same categorization
used by the Moving Worlds specification:
- Collision
- Tells the browser whether or not given pieces of geometry can be navigated
through.
- Transform
- Groups nodes together under a single coordinate system, or "frame of reference";
incorporates the fields of the old Separator node.
In place of the old Info node type, Moving Worlds provides several new node
types to give specific information about the scene to the browser:
- Background
- Provides a shaded plane and/or distant geometry to be used as a backdrop,
drawn behind the displayed scene.
- NavigationInfo
- Provides hints to the browser about what kind of viewer to use (walk, examiner,
fly, etc.), suggested average speed of travel, a radius around the camera
for use by collision detection, and an indication of whether the browser
should turn on a headlight.
- Viewpoint
- Specifies an interesting location in a local coordinate system from which
a user might wish to view the scene. Replaces the former PerspectiveCamera
node.
- WorldInfo
- Provides the scene's title and other information about the scene (such as
author and copyright information), in a slightly more structured manner
than a VRML 1.0 Info node.
- Fog
- Describes global lighting attributes such as ambient lighting, light attenuation,
and fog.
- Sound
- Defines a sound source that emits sound primarily in a 3D space.
- Shape
- A node whose fields specify a set of geometry nodes and a set of property
nodes to apply to the geometry.
- ElevationGrid
- Provides a compact method of specifying an irregular "ground" surface.
- Extrusion
- A compact representation of extruded shapes and solids of rotation.
- Text
- Replaces VRML 1.0's AsciiText node; has many more options, to allow easy
use of non-English text.
Geometric Properties
- Color
- Defines a set of RGB colors to be used in the color fields of various geometry nodes.
- Appearance
- Gathers together all the appearance properties for a given Shape node.
- ProximitySensor
- Generates events when the camera moves within a bounding box of a specified
size around a specified point.
- ClickSensor
- Generates events when the user moves the pointing device across an associated
piece of geometry, and when the user clicks on said geometry.
- PlaneSensor
- Generates events that interpret a user's click-and-drag as translation in
two dimensions.
- ColorInterpolator
- Interpolates intermediate values from a given list of color values.
- CoordinateInterpolator
- Interpolates intermediate values from a given list of 3D vectors.
- IndexInterpolator
- Interpolates intermediate integer values for use in changing the active
child of a Switch node.
- NormalInterpolator
- Interpolates intermediate normalized vectors from a given list of 3D vectors.
- OrientationInterpolator
- Interpolates intermediate absolute rotations from a given list of rotation
amounts.
- PositionInterpolator
- Interpolates intermediate values from a given list of 3D vectors, suitable
for a series of translations.
- ScalarInterpolator
- Interpolates intermediate values from a given list of floating-point numbers.
- Script
- Contains a program which can process incoming events and generating outgoing
ones.
- TimeSensor
- Generates events at a given time or at given intervals.
Almost all node types have been changed in one way or another -- if nothing
else, most can now send and receive simple events. The most far-reaching
changes, however, are in the new approaches to grouping nodes: in particular,
Separators have been replaced by Transforms, which incorporate the fields
of the now-defunct Transform node, and Groups no longer allow state to leak.
The other extensive changes are in the structure of geometry-related nodes
(which now occur only as fields in a Shape node). See the section of the
spec titled "Structuring the Scene Graph" for details.
The following VRML 1.0 node types have been removed from Moving Worlds:
- AsciiText: replaced with Text
- Info: replaced with WorldInfo
- OrthographicCamera: shifted to browser UI responsibility (that is, browsers
may provide an orthographic view of a world as an option)
- PerspectiveCamera: replaced with Viewpoint.
- Separator: use Transform instead
- transformation nodes: incorporated into Transform
- MatrixTransform
- Transform
- Translation
- Rotation
- Scale
In addition to all of the other changes, Moving Worlds introduces a couple
of new field types:
- An SFInt32 field (formerly SFLong) contains a 32-bit integer. An MFInt32 field contains
a list of 32-bit integers.
- An SFNode field contains a node (or rather, a pointer to a node). An MFNode field
contains a list of pointers to nodes.
- An SFTime field contains a double-precision floating point value indicating a number
of seconds since Jan 1, 1970 GMT.
This URL: http://vrml.sgi.com/moving-worlds/Overview/nodechanges.html.