// Last edited on 2007-04-01 19:53:45 by stolfi
// Processed by remove-cam-lights

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

#declare raio = 2.000;

#declare tinta_cinza = 
  texture {
    pigment { color rgb < 0.30, 0.30, 0.30 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.2 }
  }
  
#declare tinta_branca = 
  texture {
    pigment { color rgb < 1.00, 1.00, 1.00 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.2 }
  }
  
#declare tinta_preta = 
  texture {
    pigment { color rgb < 0.00, 0.00, 0.00 > }
    finish { diffuse 0.8 specular 0.2 roughness 0.005 ambient 0.2 }
  }
  
#declare boxe_branca = 
  box {
    < 0.00, 0.00, 0.00 >, < 1.00, 1.00, 1.00 > 
    texture { tinta_branca }
  }
  
#declare boxe_preta = 
  box {
    < 0.00, 0.00, 0.00 >, < 1.00, 1.00, 1.00 > 
    texture { tinta_preta }
  }
  
#declare rainha_cinza =
  sphere {
    < 0.50, 0.50, 1.50 >, 0.40 
    texture { tinta_cinza }
  }
  
#declare rainha_branca =
  sphere {
    < 0.50, 0.50, 1.50 >, 0.40 
    texture { tinta_branca }
  }
  
#declare peao_cinza = 
  cone {
    < 0.50, 0.50, 1.00 >,
    0.40,
    < 0.50, 0.50, 2.00 >,
    0.00
    texture { tinta_cinza }
  }
  
#declare peao_branco = 
  cone {
    < 0.50, 0.50, 1.00 >,
    0.40,
    < 0.50, 0.50, 2.00 >,
    0.00
    texture { tinta_branca }
  }
  
#declare torre_cinza = 
  cylinder {
    < 0.50, 0.50, 1.00 >,
    < 0.50, 0.50, 2.00 >,
    0.40
    texture { tinta_cinza }
  }
  
#declare torre_branca = 
  cylinder {
    < 0.50, 0.50, 1.00 >,
    < 0.50, 0.50, 2.00 >,
    0.40
    texture { tinta_branca }
  }
  

#declare roleta=seed(12345);
#declare i=0;
#while(i<100)
 #declare j=0;
 #while(j<100)
  #if(mod(i+j,2)=0)
   object { boxe_branca translate<i, j, 0>}
   #declare j = j + 1;
   #declare aleatorio = int(50*rand(roleta));
   #if(aleatorio = 1)
    object { rainha_cinza translate<i, j, 0>}
   #end
   #if(aleatorio = 12)
    object { rainha_branca translate<i, j, 0>}
   #end
   #if(aleatorio = 5)
    object { peao_cinza translate<i, j, 0>}
   #end
   #if(aleatorio = 15)
    object { peao_branco translate<i, j, 0>}
   #end
   #if(aleatorio = 9)
    object { torre_cinza translate<i, j, 0>}
   #end
   #if(aleatorio = 19)
    object { torre_branca translate<i, j, 0>}
   #end
  #else
   object { boxe_preta translate<i, j, 0>}
   #declare j = j + 1;
   #declare aleatorio = int(50*rand(roleta));
   #if(aleatorio = 1)
    object { rainha_cinza translate<i, j, 0>}
   #end
   #if(aleatorio = 12)
    object { rainha_branca translate<i, j, 0>}
   #end
   #if(aleatorio = 5)
    object { peao_cinza translate<i, j, 0>}
   #end
   #if(aleatorio = 15)
    object { peao_branco translate<i, j, 0>}
   #end
   #if(aleatorio = 9)
    object { torre_cinza translate<i, j, 0>}
   #end
   #if(aleatorio = 19)
    object { torre_branca translate<i, j, 0>}
   #end
  #end
 #end
 #declare i = i + 1;
#end

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

#include "camlight.inc"
camlight(<30.00,30.00,0.00>,<10,10,10>,40.0,z,1.0)