// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2003-07-31 12:50:37 by stolfi

// ======================================================================
// CÂMERA 

camera {
  location 2* < 66.00,0.00, 28.00 >  // Posição do observador.
  right     -1.0*x                 // Largura RELATIVA da imagem.
  up        0.75*y                 // Altura RELATIVA da imagem.      
  sky       y                      // Qual direção é "para cima"?
  look_at   <  23.00, 12.00, 30.00 >  // Para onde a câmera está apontando.
} 
// Nota: os parâmetros "right" e "up" devem ter a mesma proporção
// que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile.

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

light_source {
  10 * < +50.0, +30.0, +50.0 >              // Posição da lâmpada.
  color rgb 1.2 * < 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.
} 

// ======================================================================
// DESCRIÇÃO DA CENA 

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

#declare raio = 2.000;

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

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

#declare base =
   box{
    <38.00,16.00,32.00>,
    <8.00,7.00,12.00>
    texture {tinta_A}
 }

#declare encosto =
   box{
    <8.00,31.00,7.00>,
    <38.00,12.00,3.00>
    texture {tinta_A}
}

#declare suporte1 =
   cylinder {
    <4.00,0.00,23.00>,
    <4.00,20.00,23.00>,
    4.00
    texture {tinta_A}
}


#declare suporte2 =
  cylinder {
    <42.00,0.00,23.00>,
    <42.00,20.00,23.00>,
    4.00
    texture {tinta_A}
}

#declare suporte3 = 
   sphere {
    <23.00,6.00,6.00>,
    6.00
    texture {tinta_A}
}



// Aqui está a cena, finalmente:

union { 
  object {suporte1}
  union{
   union {
     object { base } 
     object { encosto }
    }
   object {suporte3}
 }
  object { suporte2 }
}