#VRML V2.0 utf8 DirectionalLight { direction 1 -2 -3 } DirectionalLight { direction -3 -1 -1 intensity .5 } Transform { translation -3 0 0 children Shape { appearance Appearance { material Material { diffuseColor 1 1 1 } texture GradientTexture { url "../images/shared/sky.gif" gradientColors [ 1 0 1, 0 1 1 ] } } geometry Box {} } } Transform { translation 0 0 0 children Shape { appearance Appearance { material Material { diffuseColor 1 1 1 } texture GradientTexture { width 50 height 50 gradientColors [ .8 .3 .1, .8 .3 .1, .8 .8 .1 .8 .8 .1 ] } } geometry Cone {} } } Transform { translation 3 0 0 children Shape { appearance Appearance { material Material { diffuseColor 1 1 1 } texture DEF CYLINDER_TEXTURE GradientTexture { gradientColors [ 1 0 0, .8 .3 .1, 1 1 0, 0 1 0, 0 0 1, 1 0 1] } } geometry Cylinder {} } } Transform { translation 6 0 0 children Shape { appearance Appearance { material Material { diffuseColor 1 1 1 } texture GradientTexture { gradientColors [ 0 0 0, 1 0 0, 1 0 0, 1 1 1, 1 1 1, 0 0 0, 0 0 0, 1 0 0, 1 0 0, 1 1 1, 1 1 1, 0 0 0 ] } } geometry Sphere {} } } DEF TIME_SENSOR TimeSensor { loop TRUE cycleInterval 5 } DEF CYLINDER_GRADIENT_INTERP CoordinateInterpolator { key [ 0 .1 .35 .45 .7 .75 1 ] keyValue [ 1 0 0, .8 .3 .1, 1 1 0, 0 1 0, 0 0 1, 1 0 1, 0 0 0, 0 0 0, 0 0 1, 0 0 1, 0 0 0, 0 0 0, 0 0 0, 0 0 0, 0 0 1, 0 0 1, 0 0 0, 0 0 0, 1 0 0, 1 0 0, .8 .3 .1, .8 .3 .1, 1 0 0, 1 0 0, 1 0 0, 1 0 0, .8 .3 .1, .8 .3 .1, 1 0 0, 1 0 0, 1 0 0, .8 .3 .1, 1 1 0, 0 1 0, 0 0 1, 1 0 1 1 0 0, .8 .3 .1, 1 1 0, 0 1 0, 0 0 1, 1 0 1 ] } ROUTE TIME_SENSOR.fraction TO CYLINDER_GRADIENT_INTERP.fraction ROUTE CYLINDER_GRADIENT_INTERP.value TO CYLINDER_TEXTURE.gradientColors