// Trabalho 1 de Computação Gráfica
// Luciano Ludka Cordeiro - ra992077

background{ color rgb < 0.00, 0.03, 0.15 > }

light_source {
  < 0.00, 3.00, 0.00 >
  color rgb < 1.00, 1.00, 1.00 >
} 

light_source {
  < 0.00, 0.00, 4.00 >
  color rgb < 1.00, 1.00, 1.00 >
} 

camera {
  location  <  -3.00, 2.00, 0.00 >
  right     < -1.20, 0.00, 0.00 >
  up        <  0.00, 0.00, 0.90 >
  sky       <  0.00, 1.00, 0.00 >
  look_at   <  5.00, 1.00, 4.00 >
} 

#declare raio = 2.000;

#declare vermelho = 
  texture {
    pigment {color rgb < 1.00, 0.00, 0.00 >}
  }

#declare verde = 
  texture {
    pigment { color rgb < 0.00, 1.00, 0.00> }
  }

#declare amarelo = 
  texture {
    pigment { color rgb < 2.0, 2.0, 0.00 > }
  }
  
#declare assento=
   box{
      <1, 1, 1>, <4 , 1.50, 4>
      texture {amarelo}
   }
  
#declare pe1 = 
  cylinder {
    < 1.50, 0.00, 1.50 >,
    < 1.50, 1.00, 1.50 >,
    0.25
    texture {vermelho}
  }

#declare pe2 = 
  cylinder {
    < 3.50, 0.00, 1.50 >,
    < 3.50, 1.00, 1.50 >,
    0.25
    texture {vermelho}
  }

#declare pe3 = 
  cylinder {
    < 2.50, 0.00, 3.50 >,
    < 2.50, 1.00, 3.50 >,
    0.25
    texture {vermelho}
  }

#declare encosto =
  cone {
    < 2.50, 2.50, 3.50 >, 1.00, 
    < 2.50, 2.50, 3.00 >, 0.5
    texture { verde }
  }
  
// Aqui está a cena, finalmente:
union {
   object {assento}
   object {pe1}
   object {pe2}
   object {pe3}
   object {encosto}
}