NEW! Ygdrasil Version 0.4 - click here for details

    Foundation

These nodes are the basic nodes from which many functions are inherited - examples
ygCAVEViewer establishes a view point for the CAVE library rendering
ygNode the base class from which all scripted Ygdrasil nodes are derived
ygSoundServer creates a bergen sound server and manages sound clients
ygSpace defines a space that is rectangular, spherical, cylindrical, point or infinite in volume
ygWorld the class that loads scene files and maintains the scene graph

    User

These nodes are used to establish user presence and navigation -
examples
body a transform that is a fixed distance below the head of the user
grabNavigator a navigator that can grab and move with respect to another node
vectorNavigator a navigator that takes a direction and rotation vector
ygCAVEHead creates a transform tracked with sensor 0 and a ygHead child node
ygCAVENavigator creates a navigator with CAVE navigation data for the user
ygCAVETracker creates a tracked simple transform from a CAVE sensor
ygCAVEWand creates a wand that detects CAVE wand button events
ygHead establishes a head for the user and asigns it to the user
ygNavigator creates a navigator with navigation data for the user
ygUser aggregates the user related functions of wands, navigators, and trackers
ygWand creates a wand for the user and adds it to the user wand list

    Geometry

These nodes are used to load or create objects seen by the user -
examples
fltObject loads geometry from a named node within an OpenFlight file
mirror a space within which all subject geometry and users are mirrored
morpher creates a morphed object between two or more models
nodeMessages generates events describing node messages
quadparts creates a number of falling particles in a range about the user
rain creates any number of rain particles in a range about the user
rectSurface creates a rectangular surface
reference creates another instance of Performer geometry
reflection a transform that reflects scene geometry about an axis
smoke creates a rising plume of smoke
snow creates any number of snow particles in a range about the user
surface a tri-strip surface of variable size
text a node that creates a 3D string of text
waves a tri-strip surface with a sinusoidal wave motion
ygGeometry a base class for ygGeometry nodes
ygObject loads and transforms models from any one of the accepted Performer model formats
ygScene a node that loads a scene file
ygTexture load a texture and place it on a polygon

    Sound

These nodes are used to create or manipulate sounds heard by the user -
examples
amplitude a node that generates events with the value of the microphone amplitude
ratSource creates a positional sound within a space using a RAT source
soundRecorder creates a node that will record the microphone input to a file
tone creates a positional tone at a specified frequency within a space
whiteNoise creates a positional whiteNoise source within a space
ygSound creates a positional sound within a space using one of several file formats

    Transformation

These nodes are used to place or move geometry in the scene -
examples
billboard a transform that orients to face the viewer about a point or axis
fltTransform initializes a DCS from a named node within an OpenFlight file.
grabber a transform that moves with respect to a wand or other transformed node
gravity a transform that moves down to the first floor intersection found
mover a quaternian based motion path between two positions and orientations
moveToNode a mover that takes end coordinates from a node
pathRandom a transform that will move an object throught a random path inside a volume
physics a transform that uses simple physics for dynamic motion
pointAtNode a transform that orients to face a node about a point or axis
pointFollower a transform that moves a percentage along a path of points
pointMover a transform that moves a percentage along a path of points and orientations
poserAnimator allows the loading and animation of poser motion file
ygTransform creates a transformation matrix with position, orientation, and scale

    Selection

These nodes are used to select which geometry will be shown -
examples
flicker a switch that toggles state each frame
flipbook a selector that rotates through the sequence in a fixed duration
levelOfDetail a selector based on distance from the viewer
localData a switch that is only turned on for the host site
localFlipbook a selector that rotates through the sequence in a fixed duration
userSwitch sets up an independent Performer switch state for each user
visibility a switch that changes state if a user is in one or more spaces
ygSelector selects one child node for node processing and Performer traversal
ygSwitch toggles the child for node processing and Performer traversal

    Attributes

These nodes are used to change geometry attributes -
examples
applyTexture applies a texture to the existing texture on objects below it
clipPlane a clipping plane that can be positioned within the scene
fader sets the transparency of all nodes below it
highlight adds highlighting to the nodes below it
liveVideo displays a live video texture to a rectangular surface, using the JPEG decompression
materialProperty adjusts the material properties of all nodes below it
movieSurface plays a movie on a rectangular surface, using xine
movieTexture replaces the texture on objects below it with that of a movie file
spotLight creates a spotlight with transformed position and direction
stencilBuffer a node that implements stencil buffering
textureTransform adjust the texture matrix of all nodes below this node
viewTexture replaces the texture on objects below it with that of a rendered view
ygEnvironment establishes sky color, fog, and clipping plane parameters within a space
ygLight creates a light source with position, ambient, diffuse, and specular settings

    Trigger

These nodes trigger events -
examples
keyboard creates events from keyboard input
nodePosition a space that generates position events in the presence of a node type
nodeTrigger a space that generates events in the presence of a node
pointAtPosition detects a wand pointing at any geometry below it and produces an event
pointAtTrigger detects a wand pointing at any geometry below it and produces an event
pointNodeTrigger detects a wand pointing at any geometry below it and produces an event
userPosition a space that generates position events in the presence of a user head
userTrigger a space that generates events in the presence of a user head
wandPosition a space that generates position events in the presence of a user and wand
wandTrigger a space that generates events in the presence of a user and wand

    Math

These nodes are used for timing, numerical calculations, and logic operations -
examples
add a value node that computes the sum of its children
and a boolean node that computes the AND of its children
boolean a variable size array of boolean values
clock a value node that computes the current time
distance a node that generates the distance to a node
divide a value node that computes the quotient of its children
equalTo a boolean node that does an = test on its children
greaterEqual a boolean node that does a >= test on its children
greaterThan a boolean node that does a > test on its children
interpolate an array that interpolates between a start array and an end array
lessEqual a boolean node that does a <= test on its children
lessThan a boolean node that does a < test on its children
mathematics a value node that performs common mathematic operations
multiply a value node that computes the product of its children
negate a value node that computes the negative of its last child
not a boolean node that computes the NOT of its last child
or a boolean node that computes the OR of its children
positioner a valuator that can only take positions and orientations listed in a file
proximity a node that generates the distance to the nearest user
readFile an array that is read from a file
remoteValue an array that is created and updated on each client
String a node that stores and manipulates a character string
subtract a value node that computes the difference of its children
timer a timer that generates changing values over a duration
valuator an interpolate node with transformed position and orientation values
value a variable size array of values
writeFile an array that can be written to a file

    Deprecated

These nodes are either replaced by newer nodes, poorly executed, or no longer work
fadeIn fades in all nodes below it over a duration
fadeOut fades out all nodes below it over a duration
lookAtUser a transform that orients the model to face the user
movieScreen creates a polygon and maps a movie file to its surface
pathFollower a transform that moves along a path of points over a duration
simpleMover a transform that moves between two positions in a duration
spinner a transform that rotates about the Z axis over a period
toAndFrom a transform that swings between two positions in a duration
turner a transform that rotates an arc angle about an axis
water a tri-strip surface with a sinusoidal wave motion