// Last edited on 2003-12-14 20:20:08 by stolfi

#include "colors.inc"
#include "stones.inc"
#include "woods.inc"
#include "textures.inc"

background{ color Grey }

// ======================================================================
// FONTES DE LUZ

light_source {
  10 * < +50.0, +50.0, +50.0 >              // Posição da lâmpada.
  color rgb  < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

light_source {
  < -10.0, -10.0, +20.0 >              // Posição da lâmpada.
  color rgb  < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

light_source {
  < 10.0, 10.0, +10.0 >              // Posição da lâmpada.
  color rgb  < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 



//light_source {
//  10 * < +50.0, -10.0, +10.0 >             // Posição da lâmpada.
//  color rgb 0.8 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
//} 



// ======================================================================



#declare ctr = < 0.00, 8.00, 0.00 >;
#declare camDir = (0.7*< 50.00, -5.00, 10.00 >) - (< 0.00, 8.00, 0.00 >);

camera {
  location   ctr + 1.00*camDir
  right      -0.60*x
  up         0.60*z
  sky        z
  look_at    ctr
}
 


//eixos
  
#declare eixox = 
cylinder {
    < -5.00, 0.00,  0.00 >,
    < 5.00, 0.00,  0.00 >,
    0.05
    pigment { color Red }
}

#declare eixoy = 
cylinder {
    < 00, -5.00,  0.00 >,
    < 00, 5.00,  0.00 >,
    0.05
    pigment { color Blue }
}

#declare eixoz = 
cylinder {
    < 0.0, 00,  -5.00 >,
    < 0.0, 00,  5.00 >,
    0.05
    pigment { color Black }
}

sky_sphere{
pigment{Blue_Sky}
}

#declare cor_cristal = color rgb 1*<1,0.7,0.2> ;
#declare tx_cristal =
  texture {
  finish {
    ambient 0.1 diffuse 0.1
    reflection 0.25
    specular 1 roughness 0.001
    }
   pigment { color cor_cristal filter 1}
}


#declare cor_espelho = <0,0,1>;
#declare tx_espelho =
  texture{
  pigment { rgb cor_espelho }
  finish {
    ambient 0.05 diffuse 0.05
    reflection Gray
    specular 0.20 roughness 0.05
   }
 }





#declare caixa = 
  box {
    < 0, 0, 0 >,
    < 10.00, 1.00, 5.00 >

  }


#declare l=
union{
object{caixa
scale z*0.9
translate <0,0,1.5>}
object{caixa
scale z*0.7
scale y*0.9
rotate -90*x
translate <0,0,1.5>}
}

#declare i=
object{caixa
translate <0,4.5,0.6>}

#declare vou =
union{
object{caixa
scale z*1.1
rotate -30*x
translate <0,-1.3,0>
}

object{caixa
scale z*1.1
rotate -30*x
scale<1,-1,1>
}

translate <0,10,1.1>
}

#declare metall=
object{l
scale 0.01*x
texture{ tx_espelho }
translate <10,0,0>
}

#declare metali=
object{i
scale 0.01*x
texture{ tx_espelho }
translate <10,0,0>
}

#declare metalv=
object{vou
scale 0.01*x
texture{ tx_espelho }
translate <10,0,0>
}


union{

object{plane { z, 0.5 texture {T_Wood31}}}
object{plane { x, -20 texture {T_Wood31}}}

object{metall}
object{metali}
object{metalv}
object{l
texture{ tx_cristal }
}
object{i
texture{ tx_cristal }}
object{vou
texture{ tx_cristal }}
}