// Last edited on 2003-12-14 22:53:30 by stolfi
#include "colors.inc"
#include "textures.inc"
#include "stones.inc"
#include "finish.inc"

// ======================================================================

#declare ctr = < 0.00, 0.00, 3.00 >;
#declare camDir = < 4.00, 16.00, 2.00 >;

camera {
  location   ctr + 1.00*camDir
  right      0.75*x
  up         0.75*y
  sky        z
  look_at    ctr
}
 

// ======================================================================
// FONTES DE LUZ

light_source {
  10 * < +10.0, +40.0, +40.0 >              // Posição da lâmpada.
  color rgb 1.2 * < 1.00, 1.00, 1.00 >   // Intensidade e corda luz.
}

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

//fundo:
background { color rgb < 0.75, 0.80, 0.85 > }

//texturas:
#declare tinta_Azul = < 0.00, 0.00, 1.00 >;

#declare tinta_Amarela = < 1, 1, 0>;

#declare tinta_Prata = < 0.9, 0.9, 0.9>;

#declare metal_Amarelo =
  texture {
    pigment { rgb tinta_Amarela }
    finish {
      ambient 0.05 diffuse 0.05 reflection tinta_Amarela specular 0.2 roughness 0.05
    }
  }

#declare metal_Azul =
  texture {
    pigment { rgb tinta_Azul }
    finish {
      ambient 0.05 diffuse 0.05 reflection tinta_Azul specular 0.2 roughness 0.05
    }
  }

#declare transp_Azul =
  texture {
    finish {
      ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001
    }
    pigment { color tinta_Azul filter 1 }
  }

//objetos:
#declare chao = 
  plane { <0,0,1>, 0
    pigment { granite }
    finish { ambient .4 diffuse 0.7 }
  }

#declare cobertura =
  difference {
    cylinder {
      <0,0,0>,
      <0,2,0>,
      2.5
    }
    cylinder {
      <0,0,0>,
      <0,3,0>,
      2.0
    }
    texture { T_Stone10 }
    translate <0,0,7>
    scale 0.8*z
    finish { phong 1 }
  }

#declare texto =
  text {
    ttf "timrom.ttf"
    "L I V"
    1.5, 0
    texture { metal_Amarelo }
    scale <1.4,1.4,1.4>
    rotate 90*x
    translate <-1.3,2.5,5.2>
  }

#declare suporte =
  cylinder {
    <0,1,0.1>,
    <0,1,4>,
    0.6
    texture { transp_Azul }
  }

#declare base =
  difference {
    sphere {
      <0,1,2>,
      2.0
      texture { transp_Azul }
    }
    sphere {
      <0,1,2.5>
      2.0
      texture { metal_Azul }
    }
  }

// ========================================================================
// CENA

union {
  object { chao }
  object { cobertura }
  object { texto }
  object { suporte }
  object { base }
}