// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2003-09-04 15:25:26 by stolfi

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

camera {
  location  <  30.00, 20.00, 15.00 >  // Posição do observador.
  right     -1.00*x                // Largura RELATIVA da imagem.
  up        0.75*y                 // Altura RELATIVA da imagem.      
  sky       z                      // Qual direção é "para cima"?
  look_at   <  5.00, 0.00, 0.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 predio =
	box{
	<0,0,0>,
	<20,10,10>
	texture {tinta_A}
	}	

#declare porta = 
	box{
	<19.9,3.00,0.00>,
	<20.1,7.00,2.50>
	}

#declare letrai = 
	box{
	<19.50,4.00,3.50>,
	<20.50,6.00,7.00>
	texture {tinta_B}
	}

#declare pingoi = 
	sphere{
	<19.50,5.00,8.00>,1.0
	texture {tinta_B}
	}	


#declare janela = 
	union{
		#declare andar=8;
		#while (andar>=1)
			#declare i=18;	
			#while (i>=1)
				box{
				<i,9.9,andar>,
				<i+1,10.1,andar+1>}
			#declare i=i-2	;
			#end
		#declare andar=andar-2;
		#end
	}

  
// Aqui está a cena, finalmente:


difference{
	union {
		object {predio}
		object {porta}
		object {letrai}
		object {pingoi}
	}
	object{janela}
		
}