Samantha Steele / Task 05

Skybox for my final project with animated sky

task05.wrl (2kb)



 

Code:

DEF ENGINE Script {
eventIn SFFloat set_value
eventOut SFFloat value_changed
url ["javascript:

function set_value(val) {
/*
want to use sine, because sine is smooth..

Math.sin(val) wants val ranges [0,2PI]
but timeSensor gives [0,1]
so [0,1] * 2PI gives [0,2PI]

light.intensity wants [0,1]
but Math.sin([0,2PI]) gives [-1,1]
so ([-1,1] + 1) * .5 gives [0,1]

*/
value_changed = (Math.sin(val * 2*Math.PI) + 1) * .5;
}

"]

}

#create a script to convert SFColor to MFColor

DEF MF Script {
eventIn SFColor set_value
eventOut MFColor value_changed
url ["javascript:

function set_value(val) {
value_changed = new MFColor(val);
}
"]
}

ROUTE TIMER.fraction_changed TO ENGINE.set_value
ROUTE ENGINE.value_changed TO CI.set_fraction
ROUTE CI.value_changed TO MF.set_value
ROUTE MF.value_changed TO Backcolor.skyColor