// Last edited on DATE TIME by USER // Processed by remove-cam-lights #include "camlight.inc" #declare ctr = < 0.00, 0.00, 1.00 >; #declare rad = 10.0; #declare cav = < 14.00*clock, 7.00*(1-clock), 6.00*(1-clock) >; #declare dst = 13.0; #declare lux = 1.00; camlight(ctr, rad, cav, dst, z, lux) background { color rgb < 1.00, 1.00, 1.00 > } #declare dir = array[8]; #declare dir[0] = <+1, +1, +1>; #declare dir[1] = <+1, +1, -1>; #declare dir[2] = <+1, -1, +1>; #declare dir[3] = <+1, -1, -1>; #declare dir[4] = <-1, +1, +1>; #declare dir[5] = <-1, +1, -1>; #declare dir[6] = <-1, -1, +1>; #declare dir[7] = <-1, -1, -1>; #declare dist = 10; #macro format_char(c) text { ttf "times.ttf" c 0.3, 0 rotate <0, 0, 90> rotate <0, 90, 0> scale 1.8 } #end #macro char(c, posi, posf, frac) #local pos = (1-frac)*posi + (frac*posf); object { format_char(c) translate pos } #end #macro logo(txt, time) #local len = strlen(txt); #local stage = int(len * time); #local frac = (len * time) - stage; #local posf = <0, stage+1, 0>; #local i = mod(stage, 8); #local posi = posf + (dist * vnormalize(dir[i])); union { #local j = 0; #while (j < stage) char(substr(txt, j+1, 1), <0,0,0>, <0, j, 0>, 1) #local j = j + 1; #end object { char(substr(txt, j+1, 1), posi, posf, frac) } } #end union { object { logo("UNICAMP", clock) } texture { pigment { color rgb < 0.65, 0.80, 0.95 > } finish { diffuse 0.9 ambient 0.1 } } translate <0, -5, 0> }