// Last edited on 2007-07-23 09:39:36 by stolfi
// Processed by remove-cam-lights

global_settings { max_trace_level 12 }

background { color rgb < 0.90, 0.95, 1.00 > }

#declare raio = 2.000;

#declare cor_esmeralda = <0.2 0.5 0.4>;
#declare tx_esmeralda =
   texture {
     finish {
       ambient 0.1 diffuse 0.2 reflection 0.04
       specular 0.7 roughness 0.003
     }
     pigment { color cor_esmeralda filter 1 }
   }

#declare cor_ruby = <0.6 0.4 0.3>;
#declare tx_ruby =
   texture {
      finish {
         ambient 0.1 diffuse 0.2 reflection 0.04
         specular 0.7 roughness 0.003
      }
      pigment { color cor_ruby filter 1 }
   }

#declare cor_prata = <0.7 0.7 0.7>;
#declare tx_prata =
   texture {
     pigment { rgb cor_prata }
     finish {
       ambient 0.05 diffuse 0.1
       reflection 0.55*cor_prata
       specular 0.3 roughness 0.7
     }
   }

#declare cor_ouro =  < 1.00, 0.80, 0.10 >;
#declare tx_ouro =
  texture {
    pigment { rgb cor_ouro }
    finish {
      ambient 0.05 diffuse 0.05
      reflection 0.70*cor_ouro
      specular 0.20 roughness 0.05
    }
  }
  
#declare tinta_xadrez = 
  texture {
    pigment { checker color rgb < 0.40, 0.40, 0.40 >, color rgb <1.0,1.0,1.0> }
    finish { ambient 0.6 diffuse 0.4 }
    scale 1.5
  }

#declare chao = 
  plane { z, -4
    texture { tinta_xadrez }
  }

#declare anel = 
  torus {
    3,0.5
    texture { tx_ouro }
  }

#declare ruby = 
    box {
      <0.25, -0.25, -0.25>
      <-0.25, 0.25, 0.25>
      texture { tx_ruby }
      interior { ior 1.5 }
}

#declare esmeralda = 
  box {
    <0.15, -0.15, -0.15>
    <-0.15, 0.15, 0.15>
    texture { tx_esmeralda }
    interior { ior 1.5 }
  }

#declare cone1 =
  cone {
    < 0.00, 0.00, 0.00 >,
    0.50,
    < 0.00, 0.00, 4.00 >,
    1.50
    texture { tx_prata }
  }

#declare topo =
  sphere {
    < 0.00, 0.00, 0.00 >, 1.50 
    texture { tx_prata }
  }

#declare olho1 =
  sphere {
    < 1.30, -0.50, 0.00 >, 0.30 
  }

#declare olho2 =
  sphere {
    < 1.30, 0.50, 0.00 >, 0.30 
  }

#declare dente = 
  cylinder {
    < 0.50, 0.00, 0.00 >,
    < 0.95, 0.00, 2.00 >,
    0.05
  }

union {
 object {chao}
 object {anel rotate 90*x}
 object {ruby rotate 45*x translate <3.3, 0, 0> }
 object {ruby rotate 45*x translate <-3.3, 0, 0> }
 object {ruby rotate 45*x translate <0, 3.3, 0> }
 object {ruby rotate 45*x translate <0, -3.3, 0> }
 object {esmeralda rotate 45*x translate <3.1, 1.5, 0> }
 object {esmeralda rotate 45*x translate <3.1, -1.5, 0> }
 object {esmeralda rotate 45*x translate <-3.1, 1.5, 0> }
 object {esmeralda rotate 45*x translate <-3.1, -1.5, 0> }
 difference {
  object {cone1 translate <3, 0, 0.4>}
  union {
   object {dente translate <3, 0, 0.4>}
   object {dente rotate 15*x translate <3, 0.0, 0.4>}
   object {dente rotate -15*x translate <3, -0.0, 0.4>}
  }
 }
 difference {
  object {topo translate <3, 0, 4.4>}
  union {
   object {olho1 translate <3, 0, 4.6>}
   object {olho2 translate <3, 0, 4.6>}
  }
 }
}

// Original camera parameters:
// #local cam_ctr = <0,0,0>
// #local cam_vec = <12.00,0.00,6.00>
// #local cam_sky = z

#include "camlight.inc"
camlight(<1,0,1.5>,<10,4,5>,12.0,z,1.0)