YGDRASIL is a scripting language
developed at UIC by Dave Pape several years
ago for programming virtual environments. It
is used in addition,or as an alternative, to
programming in OpenGL. Alex Hill has continued
to make progress on the development and refinement
of the scripting language. He has set up a documentation
site located at http://www.evl.uic.edu/yg/.
Construct a scene graph that
loads models and script interactivity. Your
scene graph might resemble the following:
//set up wand trigger to
toggle icons on and off
#ifndef _HAZEL_INTERFACE_
node(User0.teleport(1523 610 0)+1)
#endif
#include "hazelInterface.scene"
//set up wand trigger to
toggle icons on and off
wandTrigger(when(buttonUp1,opp17mySlider.drop),
when(button2,opp17iconSwitchA.toggle,opp17iconSwitchB.toggle))
//create a value node to
increment the object orientation
value opp17objectRotate(integer,delta(90),
when(changed,opp17movedObjectB.orientation(0
0 $value)))
transform(position(1523 626 3))
{
//create a primary model
switch opp17objectSwitchA(on)
{
object (file(32and31.pfb))
switch opp17iconSwitchA(off)
{
pointAtTrigger(when(start,opp17icon1OnSwitchA.off,opp17icon1OffSwitchA.on),
when(stop,opp17icon1OffSwitchA.off,opp17icon1OnSwitchA.on),
when(button1,opp17objectSwitchA.off+0.1,opp17objectSwitchB.on+0.1))
{
transform (position(20 -30 2))
{
group opp17icon1GroupA()
{
switch opp17icon1OffSwitchA(on)
{
object (file(initmodelsselected.pfb))
}
switch opp17icon1OnSwitchA(off)
{
object (file(initmodels.pfb))
}
}
}
transform (position(45 30 35),size(10 10 1))
{
reference(node(opp17icon1GroupA))
}
}
}
}
}
 |
Don't worry, you will learn
how to make sense of this in the AD 408
Advanced class. |