// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2003-08-01 11:47:20 by stolfi

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

camera {
  location  <  -2, -2, 7 >  // Posição do observador.
  right     -1.0*x                 // Largura RELATIVA da imagem.
  up        0.75*y                 // Altura RELATIVA da imagem.      
  sky       z                      // Qual direção é "para cima"?
  look_at   <  10.00, 10.00, -7.0 >  // 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, -3.0, +30.0 >              // Posição da lâmpada.
  color rgb 1.2 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
} 

light_source {
  10 * < -5.0, -40.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 = 0.500;


#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 tinta_C = 
  texture {
    pigment { color rgb < 1.0, 0.0, 0.0 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }
#declare tinta_D = 
  texture {
    pigment { color rgb < 0.0, 1.0, 0.0 > }
    finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 }
  }
// Objetos
  
#declare bola_esquerda =
  sphere {
    < 2.5, 1.7, 2.1 >, 0.35 
    texture { tinta_C }
  }

#declare bola_direita =
  sphere {
    < 2.5, 3.3, 2.1 >, 0.35 
    texture { tinta_C }
  }
  

#declare caixa_base = //OK 
  box {
    <1, 1, 0>,
    <4, 4, 0.4>
    texture {tinta_A}
  }
    
#declare acento = 
 cylinder {
    < 2.5, 2.5, 0.40 >,
    < 2.5, 2.5, 1.80 >,
    1.20
    texture { tinta_D }
  }
 
#declare caixa_encosto = 
   box {
    <3.7, 1.4, 1.8>,
    <4, 3.6, 3.5>
    texture {tinta_B}
  }
  
// Aqui está a cena, finalmente:

union {
    object { bola_esquerda } 
    object { bola_direita }
    object { caixa_base }
    object { caixa_encosto }
    object { acento }
  }