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