// Last edited on 2003-12-13 19:04:38 by stolfi

#include "colors.inc"

#declare ctr = <0,0,0>;
#declare camDir = vrotate(<0,-12,12>, -60*y);

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

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

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

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

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

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

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

light_source { <10, 20, -10> color White }

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

background { White }

#declare EarthPig = 
  pigment{ image_map { "../txmaps/earth-land.png" map_type 1} }


#declare terra=blob {
  threshold .50
  sphere {
    <0.5,0.5,0.5>, (1-clock), 1.25
    pigment{ EarthPig }
  }
  #declare i=0;
  #declare se=seed(238091);
  #while(i<250)
    #declare ni=2*rand(se)-1;
    #declare nha=2*rand(se)-1;
    #declare xa=2*rand(se)-1;
    #declare bla=1.5*rand(se)*pow(ni*ni+nha*nha+xa*xa,0.5);
    #declare ni=clock*(ni/bla);
    #declare nha=clock*(nha/bla);
    #declare xa=clock*(xa/bla);
    #declare ninhaxa=<ni,nha,xa>;
    sphere {
      <0.5,0.5,0.5>, 0.25, 0.5
      translate ninhaxa
      pigment{ EarthPig }
    }
    #declare i=i+1;
  #end
  finish { phong 1 }
}

object{
  object { terra  }
  translate <-0.5,-0.5,-0.5>
}