// Last edited on 2003-12-09 01:37:26 by stolfi



//------------------ ATENCAO ------------------------------//
//  Serao exibidas no maximo 10 barras verticais devido    //
// a limitacoes do proprio Prolog quando trata de leitura  //
// de arquivos.                                            //
//---------------------------------------------------------//
 


#include "colors.inc"
#include "metals.inc"
#include "golds.inc"
#include "stones1.inc"
#include "textures.inc"



//background{ color rgb < 0.8,0.9,1.5 > }
background{ color rgbf < 0.9,0.9,0.8,1 > }
//background{ color rgb < 1,1,1 > }
//background {color MediumBlue }


//definicao da camera
#declare ctr = < 0.00, 2.00, 0.00 >;
#declare camDir = < 1, 0, 10 >;

camera {
  location   ctr + 1.00*camDir
  right      -0.80*x
  up         0.60*y
  sky        y
  look_at    ctr
}
 



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


light_source {
  20*< 0.0, 20.0, 0.0 >              // Posição da lâmpada.
  color rgb 2.5 * < 1.00, 1.00, 1.00 >      // Intensidade e corda luz.
} 

//light_source {
  // < 5.0, 0.0, 0.0 >              // Posição da lâmpada.
  //color rgb 2.5 * < 1.00, 1.00, 1.00 >      // Intensidade e corda luz.
//} 

//light_source {
  //10 * < 0.0, 1.0, 0.0 >              // Posição da lâmpada.
  //color rgb 2.5 * < 1.00, 1.00, 1.00 >      // Intensidade e corda luz.
//} 
// ======================================================================
// DESCRIÇÃO DA CENA 



#declare cor_cristal = < 0.8,0.9,1.5>;   
#declare cristal = 
  texture {
         finish {
          ambient 0.1 
    diffuse 0.1
          reflection 0.25
          specular 1 
    roughness 0.001
                }
      pigment { color cor_cristal filter 1}
    }

#declare cor_cristal2 = < 1,1,0>;   
#declare cristal2 = 
  texture {
         finish {
          ambient 0.1 
    diffuse 0.1
          reflection 0.25
          specular 1 
    roughness 0.001
                }
      pigment { color cor_cristal2 filter 1}
    }

#declare prata = 
material {
    texture { 
    pigment { Silver } 
    finish {
      ambient 0.05 diffuse 0.05
      reflection Silver metallic
      specular 0.5 roughness 0.001
    }
  }
}

#declare prata_escura = 
material {
    texture { 
    pigment { rgb 0.1 } 
    finish {
      ambient 0.05 diffuse 0.05
      reflection rgb 0.1 metallic
      specular 0.5 roughness 0.001
    }
  }
}

#declare ouro = 
material {
    texture { 
    pigment { BrightGold } 
    finish {
      ambient 0.05 diffuse 0.05
      reflection BrightGold metallic
      specular 0.5 roughness 0.001
    }
  }
}

#declare cristal_azul_luz =
material {
  texture {
    pigment { rgbf <0.1, 0.1, 0.9, 1> }
    finish {
      ambient 4.8 diffuse 0.1
      reflection 0.25
      specular 1 roughness 0.001
    }
  }
  interior {ior 1.1}
}

#declare cristal_azul =
material {
  texture {
    pigment { rgbf <0.1, 0.1, 0.9, 1> }
    finish {
      ambient 0.1 diffuse 0.1
      reflection 0.25
      specular 1 roughness 0.001
    }
  }
  interior {ior 1.1}
}


#declare cristal_amarelo =
material {
  texture {
    pigment { rgbf <0.9, 0.9, 0.1, 1> }
    finish {
      ambient 0.1 diffuse 0.1
      reflection rgbf <0.9, 0.9, 0.1, 1>
      specular 1 roughness 0.001
    }
  }
  interior {ior 1.1}
}

#declare cristal_vermelho =
material {
  texture {
    pigment { rgbf <0.65,0.1,0.1,1>  }
    finish {
      ambient 0.1 diffuse 0.1
      reflection 0.25
      specular 1 roughness 0.001
    }
  }
  interior {ior 1.1}
}

#declare cristal_verde =
material {
  texture {
    pigment { rgbf <0.1, 1, 0.1, 1>  }
    finish {
      ambient 0.1 diffuse 0.1
      reflection 0.25
      specular 1 roughness 0.001
    }
  }
  interior {ior 1.1}
}

// OBJETOS ///

#declare chao =
  plane { y, 0 
  pigment { MediumBlue}
  }

#declare eixoY =
  cylinder {
  <-1.5,-0.07,1>,
  <-1.5,4.5,1>,
  0.07
  material {prata_escura}
  
}
  
#declare eixoX =
  cylinder {
  <-1.5,-0.07,1>,
  <2.3,-0.07,1>,
  0.07
  material {prata_escura}
  
}

#declare pontaY=
   cone {
  <-1.5, 4.5, 1>, 0.07
  <-1.5, 4.7, 1>,0.02
  material {prata_escura}
}

#declare pontaX=
   cone {
  <2.3, -0.07, 1>, 0.07
  <2.5, -0.07, 1>,0.02
  material {prata_escura}
}



// Aqui está a cena, finalmente:

object {eixoY}
object {eixoX}
object {pontaY}
object {pontaX}
//object {chao}
#include "dados.inc"