B582 - Lecture 7.2 - Scripting with VRML
Outline
Application Case Studies
Monday, February 28
-
Las Meninas (Historical Art) - Ying Feng
-
XMView/CMView (Molecular Visualization) - Walid Sibo
-
CAVE5D (General Multi-dimensional visualization) - Michael Long
-
Games collection - Adam Heinz
Wednesday, March 1
-
Industrial Simulation (Catepillar, General Motors) - Keith Hendee
-
3DIVE (Volume Visualization) - Catalin Tomai
-
NICE Island (Collaborative Educational Environment) - Sandy Willmott
VRML Recap
-
Modeling (Shapes)
-
Geometry: Primitive Shapes, Text, Indexed Face Sets, Indexed Line Sets,
Point Sets
-
Normals, TextureCoordinates for Indexed Face Sets.
-
Appearance: Materials, Textures (GIF, JPG, PNG formats), Texture Transform
-
Grouping
-
Transform node - translation, rotation, scale
-
Specialized Groups: Switch, Billboard, LOD (level of detail), etc
-
Sensors are usually grouped with Shapes to define an activation area for
the Sensor
-
Environmentals
-
Lights, Viewpoints, Background, Sound
-
Interpolators
-
for Position, Orientation, Color, etc
-
TimeSensor to set pace
-
ROUTE mechanism to connect EventOut fields to EventIn fields
-
Sensors
-
for Touch, Manipuliation, Proximity
-
frequently ROUTE boolean triggers to TimeSensors or positions or rotations
to Transforms
-
PROTOs
-
use DEF & USE for simple instancing
-
use PROTOs for more flexibility (e.g. to define additional fields to override
defaults)
Scripting with VRMLScript
Extended Example
General
Syntax
Syntax
for VRML Script
CAVE VRML Browser
-
Look for binary and notes in /usr/local/CAVE/demos/cave6u
on Ships, Davinci, and mammoth
-
cd into above directory, then use mw <filename
| URL> to launch
-
Written by Swami Narayanan as part of his master's thesis at EVL
-
Covers about 90% of the VRML standard.
-
Unimplemented nodes include: Billboard, ElevationGrid, Extrusion, Fog,
FontStyle, MovieTexture, Text, VisibilitySensor
-
Other nodes not fully functional
-
no PROTO support
-
implements most features of VRMLScript scripting
-
You must relocate the headsensor from the side of the glasses to the top
of the glasses (rotate -90 degrees about z axis)
-
include -units meters in your .caverc to
get proper scaling
-
README file and additional
information
VRML Resources