MaterialPeonNegro::MaterialPeonNegro(){
  textura = NULL;
  color[0] = Tupla4f(0,0,0,1);
  color[1] = Tupla4f(0,0,0,1);
  color[2] = Tupla4f(0.01,0.01,0.01,1);
  color[3] = Tupla4f(0.7,0.7,0.7,1);
  exponente = 5;
}
Esempio n. 2
0
FuenteDireccional::FuenteDireccional( float alpha_inicial, float beta_inicial ){
  posvec = Tupla4f(0, 0, 0,0);
  lng=alpha_inicial;
  lat=beta_inicial;
  colores[0] = Tupla4f(0.9,0.9,0.9,1.0);
  colores[1] = Tupla4f(0.9,0.9,0.9,1.0);
  colores[2] = Tupla4f(0.9,0.9,0.9,1.0);
}
MaterialLata::MaterialLata(){
  textura = new Textura("../imgs/lata-coke.jpg",0);
  color[0]=Tupla4f(0.2,0.2,0.2,1.0);
  color[1]=Tupla4f(0.02,0.02,0.02,1.0);
  color[2]=Tupla4f(0.4,0.4,0.4,1.0);
  color[3]=Tupla4f(1.0,1.0,1.0,1.0);
  exponente=5;
}
MaterialPeonMadera::MaterialPeonMadera(){
  textura = new Textura("../imgs/text-madera.jpg",1);
  color[0] = Tupla4f(0.3,0.3,0.3,1);
  color[1] = Tupla4f(0.05,0.05,0.05,1);
  color[2] = Tupla4f(0.7,0.7,0.7,1);
  color[3] = Tupla4f(1,1,1,1);
  exponente = 6;
}
Esempio n. 5
0
MaterialTapasLata::MaterialTapasLata(){
  text = NULL;
  color[0]=Tupla4f(0.3,0.3,0.3,1.0);
  color[1]=Tupla4f(0.03,0.03,0.03,1.0);
  color[2]=Tupla4f(0.3,0.3,0.3,1.0);
  color[3]=Tupla4f(1.0,1.0,1.0,1.0);
  exponente=1;
}
Esempio n. 6
0
MaterialBlanco::MaterialBlanco(){
  text=NULL;
  color[0]=Tupla4f(0.5,0.5,0.5,1.0);
  color[1]=Tupla4f(0.05,0.05,0.05,1.0);
  color[2]=Tupla4f(0.2,0.2,0.2,1.0);
  color[3]=Tupla4f(0.0,0.0,0.0,0.0);
  exponente=5;
}
Esempio n. 7
0
MaterialMadera::MaterialMadera(){
  text = new Textura("../imgs/text-madera.jpg",2);
  color[0]=Tupla4f(0.3,0.3,0.3,1.0);
  color[1]=Tupla4f(0.05,0.05,0.05,1.0);
  color[2]=Tupla4f(0.7,0.7,0.7,1.0);
  color[3]=Tupla4f(1.0,1.0,1.0,1.0);
  exponente=6;
}
Esempio n. 8
0
MaterialNegro::MaterialNegro(){
  text=NULL;
  color[0]=Tupla4f(0.0, 0.0, 0.0, 1.0);
  color[1]=Tupla4f(0.0, 0.0, 0.0, 1.0);
  color[2]=Tupla4f(0.01,0.01,0.01,1.0);
  color[3]=Tupla4f(0.7,0.7,0.7,1.0);
  exponente=5;
}
Esempio n. 9
0
// activa la fuente de luz (con número GL_LIGHT0+i)
void FuenteLuz::activar( int i ) {
  glEnable(GL_LIGHT0+i);


  //  glLightfv(GL_LIGHT0+i, GL_POSITION, fuentes[i]->posvec);
    glLightfv(GL_LIGHT0+i, GL_AMBIENT, colores[0]); // hace SiA := (ra, ga, ba)
    glLightfv(GL_LIGHT0+i, GL_DIFFUSE, colores[1]); // hace SiD := (rd, gd, bd)
    glLightfv(GL_LIGHT0+i, GL_SPECULAR, colores[2]); // hace SiS := (rs , gs , bs)
  if(posvec[3]==1){
    glLightfv(GL_LIGHT0+i, GL_POSITION, posvec);
  }
  else{
    //const float[4] ejez={0,0,1,0};
    glMatrixMode(GL_MODELVIEW);
    glPushMatrix();
    glLoadIdentity();
    // hacer M = Ide glMultMatrix( A ) ; // A podría ser Ide,V o V N
    // (3) rotación α grados en torno a eje Y
    glRotatef( lng, 0.0, 1.0, 0.0 ) ; // (2) rotación β grados en torno al eje X-
    glRotatef( lat, -1.0, 0.0, 0.0 ) ; // (1) hacer li := (0, 0, 1) (paralela eje Z+)
    glLightfv( GL_LIGHT0+i, GL_POSITION, Tupla4f(0,0,1,0) );
    glPopMatrix() ;
  }
  glEnable(GL_DEPTH_TEST);   //Activa el buffer de profundidad.
}
Tupla3f Matriz4x4::operator*(Tupla3f& t)
{
   Tupla4f resultado;
   Tupla4f t2 = Tupla4f(t[0],t[1],t[2],1);

   for (unsigned fila = 0; fila < 4; fila++)
   {
      resultado[fila] = 0.0f;
      for (unsigned col = 0; col < 4; col++)
      {
         resultado[fila] += this->coe[col][fila]*t2[col];
      }
   }

   return Tupla3f(resultado[0],resultado[1],resultado[2]);
}
MaterialPeonNegro::MaterialPeonNegro()
{
  this=new MaterialEstandar(Tupla4f(0.0, 0.0, 0.0, 1.0),Tupla4f(0.02, 0.02, 0.02, 1.0),Tupla4f(0.0, 0.0, 0.0, 1.0),Tupla4f(1.0, 1.0, 1.0, 1.0),3.0);
}
Esempio n. 12
0
// colores: 0=ambiental, 1=difuso, 2=especular.
FuentePosicional::FuentePosicional( const Tupla3f & posicion ){
  posvec = Tupla4f(posicion[0], posicion[1], posicion[2], 1);
  colores[0] = Tupla4f(0.2,0.3,0.4,1.0);
  colores[1] = Tupla4f(0.2,0.3,0.4,1.0);
  colores[2] = Tupla4f(0.2,0.3,0.4,1.0);
}