// Last edited on 2007-06-28 09:25:43 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 tinta_prata = 
  texture {
    pigment { color rgb < 1.0, 1.0, 1.00 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_ouro = 
  texture {
    pigment { color rgb < 1.00, 0.80, 0.10 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }
  
#declare tinta_vermelha = 
  texture {
    pigment { color rgb < 1.00, 0.00, 0.00 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare tinta_verde = 
  texture {
    pigment { color rgb < 0.00, 1.00, 0.00 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }

#declare bola =
  sphere {
    < 0, 0, 0 >, 2.5 
  }

#declare caixa =
   box {
 <-3,-3,-3>,
 <0,0,3>
}

#declare cilindro =
   cylinder {
    < 0, 0, -0.5 >,
    < 0, 0, 0 >,
    0.35
}


#declare base_coroa =
   cone{
            < 0, 0, 2 >,3,
            < 0, 0, -2 >,2 scale 1
     texture{tinta_ouro}
        }
#declare furo_coroa =
   cone{
            < 0, 0, 2.5 >,3,
            < 0, 0, -2.5 >,2 scale 1
     texture{tinta_prata}
        }

#declare coroa_limpa =
 difference{
  object {base_coroa}
  object {furo_coroa}
  object {bola
          translate<3,0,3.5>
  }
  object {bola
          translate<0,3,3.5>
  }
  object {bola
          translate<-3,0,3.5>
  }
  object {bola
          translate<0,-3,3.5>
  }
 }

#declare olhos =
union{
  object{bola scale 0.04

   texture {tinta_vermelha}
        }
  object{bola scale 0.04
         translate<0,0,0.25>
   texture {tinta_vermelha}
        }
}
#declare caveira =
 union{
  object{bola scale 0.15
  }
    object{cilindro
    }
  object{olhos rotate<90,120,45>
         translate<0.15,0.3>
        }
  object{caixa scale 0.05
  rotate<90,0,45>
  translate<0.25,0.25,-0.2>
  texture{ tinta_prata
  }
  }
 }

#declare esmeralda =
 difference{
  object{bola
  }
    object{caixa scale 1.8
   translate<2,2.5,2>
   rotate<0,0,45>
    }
 }

union{
 object{
  coroa_limpa
  texture{
   pigment {color rgb<1.0,0.80,0>}
   finish{
    ambient 0.2
    diffuse 0.3
    specular 0.3
    roughness 0.05
    reflection 0.2
   }
  }
 }
 object{caveira
  translate<2,2,1.5>
  texture{
   pigment {color rgb<1.0,0.80,0>}
   finish{
    ambient 0.2
    diffuse 0.3
    specular 0.3
    roughness 0.05
    reflection 0.2
   }
  }
 }
 object{esmeralda
  translate<6,6,2> scale 0.25
  rotate<0,0,30>
  texture{
   pigment {color rgb<0,1,0> filter 1.0}
   finish{
    ambient 0.5
    diffuse 0.1
    specular 0.3
    roughness 0.05
    reflection 0.2
   }
  }
 }
 object{esmeralda
  translate<6,6,2> scale 0.25
  rotate<0,0,-30>
  texture{
   pigment {color rgb<0,1,0>}
   finish{
    ambient 0.5
    diffuse 0.1
    specular 0.3
    roughness 0.05
    reflection 0.2
   }
  }
 }

}

// Original camera parameters:
// #local cam_ctr = <0,0,0>
// #local cam_vec = <5.00,5.00,3.00>
// #local cam_sky = z

#include "camlight.inc"
camlight(<0,0,0>,<10,10,5>,10.0,z,1.0)

#declare tinta_xadrez = 
  texture {
    pigment { checker color rgb < 0.60, 0.30, 0.30 >, color rgb <1.0,1.0,0.8> }
    finish { ambient 0.6 diffuse 0.4 }
  }
 
plane{z,0
 translate -3*z
 texture { tinta_xadrez }
}