// Exemplo de arquivo de descricao de cena para POV-ray
// Last edited on 2000-09-21 09:50:30 by stolfi

#include "colors.inc"
//#include "glass.inc"
#include "textures.inc"

background{ color Brown }


light_source {
  < 10.00, 0.00, +5.00 >
  color rgb <1.00, 1.00, 1.00 >
}

light_source {
  < 15.00, 5.00, +5.00 >
  color rgb <1.00, 1.00, 1.00 >
}

light_source {
  < 0.00, 4.00, 0.00 >
  color White  
}
camera {
  location  < 0.00, 1.00, 8.00 >
  right     < 2.40, 0.00, 0.00 >
  up        < 0.00, 0.00, 1.80 >
  sky       < 0.00, 1.00, 0.00 >
  look_at   < 4.00, 2.00, 3.00 >
} 

#declare tinta_pneu =
  texture {
   pigment { color Black }
   finish { diffuse 0.5 specular 0.5 roughness 0.0335 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 pneu_fora =
  cylinder {
	< 8.0, 1.0, -3.0 >,
        < 8.0, 1.0, -2.0 >,
	1.0
	texture { tinta_pneu }
  }

#declare pneu_dentro =
  cylinder {
	< 8.0, 1.0, -3.1 >,
	< 8.0, 1.0, -1.9 >,
	0.50
	texture { Aluminum }
  } 

#declare pneu = 
union {
	object { pneu_fora }
	object { pneu_dentro }
}

#declare carcaca =
	box {
		<  4.0, 1.0, -3.0 >,
		< 12.0, 7.0, +3.0 >
		texture { New_Penny }
	}

#declare paralama =
  cylinder {
	< 8.0, 1.0, -3.2 >,
	< 8.0, 1.0, -1.8 >,
	1.5
	texture { New_Penny }
  } 

#declare cabine =
  difference {
	object { carcaca }
	object { paralama }
	object { paralama translate < 0, 0, +5.0 > }
  }

#declare cacamba_crua =
  box {
		< 12.0, 1.0, -3.0 >,
		< 18.0, 4.0, +3.0 >
		texture { New_Penny }
  }

#declare cacamba =
  difference {
	object { cacamba_crua }
	object { paralama translate < +7.0, 0, 0 > }
	object { paralama translate < +7.0, 0, +5.0 > }
  }

// Aqui esta´ a cena final:

object { pneu }
object { pneu translate <  0.0 , 0.0 , +5.0 > }
object { pneu translate < +7.0 , 0.0 ,  0.0 > }
object { pneu translate < +7.0 , 0.0 , +5.0 > }

union {
	object { cabine }
	object { cacamba }
}