// Last edited on 2007-04-04 07:58:52 by stolfi
// Processed by remove-cam-lights

background{ color rgb < 0.75, 0.80, 0.85 > }

#declare raio = 0.1;

#declare azul = 
  texture {
    pigment { color rgb < 0.00, 0.00, 1.00 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.05 }
  }

#declare cinza = 
  texture {
    pigment { color rgb < 1.00, 1.00, 1.00 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.05 }
  }

#declare verde =
  texture {
    pigment { color rgb < 0.00, 1.00, 0.00 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.05 }
  }

#declare vermelho =
  texture {
    pigment { color rgb < 1.00, 0.00, 0.00 > }
    finish { diffuse 0.8 specular 0.3 roughness 0.05 }
  }

#declare roleta = seed(12345);
#declare i = 0;
#while (i<20)
  #declare j = 0;
  #while (j<20)
    #declare a = mod((i+j),2);
    #if ( a = 0 )
      #declare cor = azul;
    #end
    #if ( a = 1 )
      #declare cor = cinza;
    #end
    box { < i, j, 0 >, < i+1, j+1, 0.5 > texture { cor } }
    #declare b = int(1000*rand(roleta));
    #declare b = mod(b,10);
    #declare c = int(1000*rand(roleta));
    #declare c = mod(c,2);
    #if ( c = 0 )
      #declare cor2 = verde;
    #end
    #if ( c = 1 )
      #declare cor2 = vermelho;
    #end
    #if ( b = 0 )
      box { < i+0.2, j+0.2, 0.5 >, < i+0.8, j+0.8, 1.5 > texture { cor2 } }
    #end
    #if ( b = 1 )
      cone { < i+0.5, j+0.5, 0.5 >, 0.3, <i+0.5, j+0.5, 1.0 >, 0 texture { cor2 }}
    #end
    #if ( b = 2 )
      cylinder { < i+0.5,j+0.5, 0.5 >, < i+0.5, j+0.5, 1.0 >, 0.3  texture { cor2 } }
    #end
    #declare j = j + 1;
  #end
  #declare i = i + 1;
#end

// Original camera parameters:
// #local cam_ctr = <10.00,7.00,0.00>
// #local cam_vec = (<10.00,-20.00,10.00>-<10.00,7.00,0.00>)
// #local cam_sky = z

#include "camlight.inc"
#local RR = (20 * 1)/2;
camlight(<RR,RR,0>,<10,10,10>,33.0,z,1.0)