VRML Notes
by Carrie Heeter
based on the book Java for 3D and VRML Worlds by Lea, Matsuda and Miyashita, 1996.
VRML 2.0 Language Specifications
http://webspace.sgi.com/moving-worlds/
VRML 1.0:
Nodes jump to html pages or other VRML 1.0 files, otherwise just a flythough world.
VRM 2.0
Messaging between ENTITIES in the SCENE allows one entity to change another, animate entitites, link to external programs.
VRML 2.0 is EVENT-BASED.
An event is a message containing some data that triggers some action.
Sources and Targets for Events are Fields.
Basic Nodes in a scene graph are parametereized by a set of Fields that hold the values of Nodes' properties.
When a Field Value is updated, can generate an event message that holds the new value of the field. That event message can be sent to another field.
VRML file a set of self-contained entities that "expose and interface" via a set of fields.
Behaviors are implemented externally.
CLASSES OF FIELDS
1.) Simple Field Class
data values define characteristic of node, i.e., radius of a sphere
2.) EventInField
sink for events accept incoming event to change its value
3.) EventOutField
source for events, outputs value
4.) ExposedField
accepts new values and outputs values.
CLASSES OF NODES
1.) Grouping Nodes
Transform (groups children)
Anchor
Billboard (sprites facing user)
Collision (can turn on and off, use actual geometry or other simpler)
Group
Switch (allows inactive children to be attached, define only one as active at a given time)
2.) Leaf Nodes
place objects into coordinate space (i.e., shape)
A.) Sensor Nodes
TimeSensor
(continuous simulations, periodic activies, one-off alarms)
cycle interval, stop time, start time
browser causes time to pass (may not be REAL time)
TouchSensor
(mouse events)
Proximity Sensor
B.) Interpolator Nodes
ScalarInterpolator
PositionInterpolator
OrientationInterpolator
C. ) Script Node
points to code anywhere on the Internet. Script Nodes act as a gateway to the script itself, and inserts logic into the event cascade.
ROUTES
Cascading Events
Fan-Outs
Loops
STATIC BEHAVIOR (embedded in objects/scene)
DYNAMIC BEHAVIOR (programming logic, able to query state, make decisions, change state)
Additional Nodes
AudioClip
MIDI
WAV
MOD (Direct Sound allows for mixing and spatialization)
MovieTexture
LIGHTS
PointLight
SpotLight
DirectionalLight
HeadLight
Camera (rendered on screen)
Viewpoint (initial coordinates, defines what local coordinate space camera is defined within)
NavigationInfo
Background
Fog