// Exercicio 7  da 8a. aula de Laboratorio - MC930 - Prof. Stolfi
// Eduardo C. Lazarine - RA 970561

#include "colors.inc"
#include "stones.inc"
#include "woods.inc"

background{ color rgb<0,0,0>}

plane {<0,0,1> 0 texture{ T_Stone23}}

//light_source {
//                  < 20,20, 20 >
 // color rgb < 1.00, 1.00, 1.00 >
//}


camera { 
  location  < 16, 16, 16 >
  right     < 2.40, 0.00, 0.00 >
  up        < 0.00, 0.00, 1.80 >
  sky       < 0.00, 0.00, 1.00 >
  look_at   < 0.00, 0.00, 0.00 >
} 

#declare raio = 0.2;
#declare raio2 = 1.5;
#declare raio3 = 0.3 ;

#declare corpo =
box{ <-3,-2,2> <3,2,8> pigment{color rgb <0,0.5,1>} }

#declare crista1 =
cylinder { <0,0,10.5> <-3,0,12.5> raio3 pigment{color rgb <1,0,0>}  }

#declare crista2 =
cylinder { <0,0,10.5> <-1,0,13.5> raio3 pigment{color rgb <1,0,0>} }

#declare crista3 =
cylinder { <0,0,10.5> < 1,0,15> raio3 pigment{color rgb <1,0,0>} }

#declare crista4 =
cylinder { <0,0,10.5> < 3,0,14.5> raio3 pigment{color rgb <1,0,0>} }

#declare pescoco =
cylinder { <0,0,7> <0,0,10.5> 0.7 pigment{color rgb <1,0.5,0>}}

#declare cabeca =

difference{
sphere{ <0,0,10.5> raio2 pigment{color rgb <0,0.5,1>} }
cylinder{ <0.5, -4, 10.8> <0.5, 4, 10.8> raio3 pigment{color rgb <1,1,1>}}
}

#declare asa =
box{ <-10,-0.5,7> <10, 0.5, 7.9> pigment{color rgb <0,1,0>}}

#declare pe1 =
sphere {<-1,0,1> 1 pigment{color rgb <0,1,0>}}

#declare pe2 =
sphere {<1,0,1> 1 pigment{color rgb <0,1,0>}}

#declare bico =
cone{  <1,0,10.5> 0.7
       <3,0,10.5> 0 pigment{color rgb <1,1, 0>}}


#declare posicao = <0, 0, 100>;
#declare alvo = <0,0,0>;
#declare distancia = vlength(posicao - alvo);
#declare abertura = degrees(10/distancia);
light_source{
 posicao
 color rgb <1,1,1>
 spotlight
 point_at alvo
 radius 1.2*abertura falloff 2*abertura
 fade_distance distancia
 fade_power 2
}

fog {
   distance 150
   color rgb <0.1, 0.5, 0.2>
   fog_type 2
   fog_offset 25
   fog_alt 1
   turbulence 0.1
   turb_depth 0.2
   }

fog {
   distance 150
   color rgb <0, 0.1, 0.1>
   fog_type 2
   fog_offset 15
   fog_alt 4
   turbulence 0.2
   turb_depth 0.2
   }

fog {
   distance 150
   color rgb <0.1, 0.1, 0.6>
   fog_type 2
   fog_offset 10
   fog_alt 2
   }

//object{ cylinder{ <0,0,0> <10,0,0> raio pigment{color rgb <1,0,0>}}}
//object{ cylinder{ <0,0,0> <0,10,0> raio pigment{color rgb <0,1,0>}}}
//object{ cylinder{ <0,0,0> <0,0,10> raio pigment{color rgb <0,0,1>}}}
object{ corpo }
object{ cabeca}
object{ crista1}
object{ crista2}
object{ crista3}
object{ crista4}
object{  pescoco}
object {asa}
object {pe1}
object {pe2}
object {bico}