// Last edited on 2007-07-23 08:54:18 by stolfi
// Processed by remove-cam-lights

global_settings { max_trace_level 12 }

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

#declare tinta_xadrez = 
  texture {
    pigment { checker color rgb < 0.30, 0.30, 0.30 >, color rgb <1.0,1.0,1.0> }
    finish { ambient 0.6 diffuse 0.4 }
    scale 2.0
  }

plane { z, -4
 translate -5*z
 texture { tinta_xadrez }
}

#declare tinta_prata = 
  texture {
    pigment { color rgb < 0.60, 0.60, 0.55 > }
    finish { ambient 0.40 diffuse 0.45 phong 0.50 reflection 0.15 roughness 0.05 brilliance 4 }
  }

#declare tinta_ouro = 
  texture {
    pigment { color rgb < 0.60, 0.50, 0.20 > }
    finish { ambient 0.25 diffuse 0.30 phong 0.70 reflection 0.30 roughness 0.05 brilliance 2 }
  }

#declare tinta_rubi = 
  texture {
    pigment { color rgb < 0.60, 0.00, 0.10 > filter 1.0 }
    finish { ambient 0.2 diffuse 0.1 specular 0.3 reflection 0.3 roughness 0.05 ior 1.5 }
  }

#declare tinta_esmeralda = 
  texture {
    pigment { color rgb < 0.10, 0.60, 0.00 > filter 1.0 }
    finish { ambient 0.2 diffuse 0.3 phong 0.5 reflection 0.2 roughness 0.05 ior 1.5 }
  }

#declare tinta_diamante = 
  texture {
    pigment { color rgb < 0.90, 0.90, 0.90 > filter 1.0 }
    finish { ambient 0.2 diffuse 0.1 specular 0.3 reflection 0.3 roughness 0.05 ior 1.4 }
  }



#declare cabeca =
  sphere {
    < 0.00, 0.00, 0.00 >, 5.00 
    texture { tinta_prata }
  }

#declare buraco =
  sphere {
    < 0.00, 0.00, -2.20 >, 6.00 
    texture { tinta_prata }
  }

#declare olho1 =
  sphere {
    < -2.50, -1.00, +5.50 >, 2.00 
    texture { tinta_prata }
  }

#declare olho2 =
  sphere {
    < 2.50, -1.00, +5.50 >, 2.00 
    texture { tinta_prata }
  }

#declare narina1 =
  sphere {
    < -0.50, 1.20, +4.9 >, 0.40 
    texture { tinta_prata }
  }

#declare narina2 =
  sphere {
    < 0.50, 1.20, +4.9 >, 0.40 
    texture { tinta_prata }
  }

#declare dente1 =
cone {
 <0.8, 3, 2>, 1.5
 <0.8, 8, 2>, 0
 texture { tinta_prata }
}

#declare dente2 =
cone {
 <-0.8, 3, 2>, 1.5
 <-0.8, 8, 2>, 0
 texture { tinta_prata }
}

#declare dente3 =
cone {
 <-2, 3, 2>, 1.0
 <-2, 7, 2>, 0
 texture { tinta_prata }
}

#declare dente4 =
cone {
 <2, 3, 2>, 1.0
 <2, 7, 2>, 0
 texture { tinta_prata }
}

#declare pupila1 =
cone {
 <-1.8, -1, +3.5>, 0.8
 <-1.8, -1, +4.5>, 0.4
 texture { tinta_rubi }
}

#declare pupila2 =
cone {
 <1.8, -1, +3.5>, 0.8
 <1.8, -1, +4.5>, 0.4
 texture { tinta_rubi }
}

#declare chifre1 =
cone {
 <0, -3, 2>, 2.0
 <0, -10, 2>, 0
 texture { tinta_ouro }
}

#declare chifre2 =
cone {
 <-2, -2, 2>, 1.5
 <-2, -9, 2>, 0
 texture { tinta_ouro }
}


#declare chifre3 =
cone {
 <2, -2, 2>, 1.5
 <2, -9, 2>, 0
 texture { tinta_ouro }
}


#declare esmeralda =
  sphere {
    < 0.00, -1.80, +4.2 >, 0.9
    texture { tinta_esmeralda }
  }

#declare diamante1 =
cone {
 <1.5, -2.7, 3.5>, 0.3
 <1.5, -3.0, 5.5>, 0
 texture { tinta_diamante }
}

#declare diamante2 =
cone {
 <-1.5, -2.7, 3.5>, 0.3
 <-1.5, -3.0, 5.5>, 0
 texture { tinta_diamante }
}

difference {
 union {
  difference {
   difference {
    object { cabeca }
    union {
     object { olho1 }
     object { olho2 }
     object { narina1 }
     object { narina2 }
     object { esmeralda }
    }
   }
  }
  
  object { pupila1 }
  object { pupila2 }
  
  object { dente1 }
  object { dente2 }
  object { dente3 }
  object { dente4 }
  
  object { chifre1 }
  object { chifre2 }
  object { chifre3 }
  
  object { esmeralda }
  
  object { diamante1 }
  object { diamante2 }
 }
 object { buraco }
}

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

#include "camlight.inc"
camlight(<0.00,0.00,2.00>,<-5,10,25>,20.0,z,1.0)