// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2010-03-04 15:44:01 by stolfi

// ======================================================================
// CORES E TEXTURAS

background{ color rgb < 0.75, 0.80, 0.85 > }
#include "textures.inc"
#declare tx_plastico = 
  texture{
    pigment{ color rgb < 0.30, 0.95, 0.10 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }

#declare tx_blue =
  texture{
    pigment{ color rgb < 0.30, 0.5, 0.90 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }

#declare tx_yellow =
  texture{
    pigment{ color rgb < 1, 1, 0 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }
#declare tx_black =
  texture{
    pigment{ color rgb < 0, 0, 0 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }

#declare tx_green =
  texture{
    pigment{ color rgb < 0.30, 0.9, 0.20 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }

#declare tx_marrom =
  texture{
    pigment{ color rgb < 0.55, 0.15, 0.45 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }

#declare tx_head = 
  texture{
    pigment{ color rgb < 0.90, 0.15, 0.10 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }

#declare tx_fosca = 
  texture{
    pigment{ color rgb < 0.75, 0.25, 0.05 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare tx_espelho = 
  texture{
    pigment{ color rgb < 1.00, 0.85, 0.30 > }
    finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 }
  }

#declare tx_vidro = 
  texture{
    pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 }
    finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 }
  }


#declare tx_xadrez =
  texture{
    pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > }
    finish{ diffuse 0.9 ambient 0.1 }
    scale 2.0
  }

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

// Partes da cena:
#declare corpo = 
	box {
		<0,0,0>,
		<2,1,4>
	    texture{ tx_blue }
	}
#declare corpo2 = 
	box {
		<0,0,0>,
		<2,1,4>
	    texture{ tx_head }
	}

#declare braco =
	box {
		<0,0,0>,
		<-2,0.5,0.5>
	    texture{ tx_head }
	}
#declare perna =
	box {
		<0,0,0>,
		<0.5,0.5,-2>
	    texture{ tx_yellow }
	}

#declare head =
	sphere {
		<0,0,0>, 0.7
		texture{ tx_head }
	}	

#declare boneco = union {
  object{head translate<1,0.5,4.6>}
  object{corpo translate <0,0,0>}
  object{braco translate <0,0.25,3>}
  object{braco translate <4,0.25,3>}	
  object{perna translate <0.2,0.25,0>}
  object{perna translate <1.3,0.25,0>}
}
#declare boneco2 = union {
  object{head translate<1,0.5,4.6>}
  object{corpo2 translate <0,0,0>}
  object{braco translate <0,0.25,3>}
  object{braco translate <4,0.25,3>}	
  object{perna translate <0.2,0.25,0>}
  object{perna translate <1.3,0.25,0>}
}

#declare chao = 
  box{ <-20,-20,-1>, <+20,+20,0> }

#declare coluna = 
union {
	cylinder{
	    < -0.0, -0.00, 0.00 >,
	    < +0.0, +0.00, +20.00 >,
	    2
	    texture{ Brushed_Aluminum  }
	  }
	cylinder{
	    < -0.0, -0.00, 20.00 >,
	    < +0.0, +0.00, +22.00 >,
	    3
	    texture{ Aluminum }
	  }
}	
#declare cubo = box {
		<0,0,0>,
		<4,4,4>
	    texture{ Copper_Texture }
	}

#declare quadro = box {
	<-10,-1,13>
	<10,0,18>
	texture{ Gold_Texture }
}
#declare parede = box {
	<-20,-1,0>
	<20,0,20>
	texture{ tx_blue }
}
#declare texto1 = text{ttf "arial.ttf" "Monumento 1" .1, 0.0 }
#declare texto2 = text{ttf "comic.ttf" "Coluna Romana" .1, 0.0 }
#declare texto3 = text{ttf "comic.ttf" "PLACA DE OURO" .1, 0.0 }

#include "eixos.inc"


// Aqui está a cena, finalmente:

union{
	object{ eixos(30.00) }
	object{ chao  translate <0,0,0 > texture{ tx_xadrez } }	
	
	
	object{texto1 rotate <90,0,90> translate<0,1,6> }
	object{cubo scale 2 translate <-8,0,0>}

	object{texto2 scale 2 rotate <0,90,90> translate<6,-1.1,18> texture{ Tinny_Brass  }}
	object{coluna translate <5,-3,0>}
	
	object{parede translate<0,-20,0>}
	object{parede translate<0, 20,0>}
	object{parede rotate 90*z translate<20, 0,0>}
	
	object{texto3 scale 1.5 rotate <90,0,90> translate<-18, -5.5,15> texture{ tx_head  }}
	object{parede rotate 90*z translate<-20, 0,0>}
	object{quadro rotate 90*z translate<-19, 0,0>}
}	

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 1.00 >;
#declare raio_cena = 40.0;
#declare dir_camera = < 5.00, 5.00, 10 >;
#declare dist_camera = 60.0;
#declare intens_luz = 2.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)