TEXTURA_1.c



/*  TEXTURAS USANDO ARCHIVOS JPG (archivos en c) */

#include <GL/glut.h>
#include "HULK.c"

void display(void) {
  glClearColor (1.0, 0.0, 0.0, 0.0);
  glClear( GL_COLOR_BUFFER_BIT );

  gluBuild2DMipmaps( GL_TEXTURE_2D, HULK.bytes_per_pixel, HULK.width,
			   HULK.height,GL_RGB, GL_UNSIGNED_BYTE, HULK.pixel_data );

  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  glColor3f(1.0, 1.0, 1.0);
		//se activa el mapeado de texturas
  glEnable(GL_TEXTURE_2D);
  glBegin(GL_TRIANGLES);
	glTexCoord2f(0.0, 1.0);  glVertex2f(-1.0, -1.0);
	glTexCoord2f(1.0, 1.0);  glVertex2f(1.0, -1.0);
	glTexCoord2f(0.5, 0.0);  glVertex2f(0.0, 1.0);
  glEnd();
  glDisable(GL_TEXTURE_2D);
  glutSwapBuffers() ;
}
void reshape(int width, int height) {
  glViewport(0, 0, width, height);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();
  gluPerspective(60.0, (GLfloat)height / (GLfloat)width, 1.0, 128.0);
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
  gluLookAt(0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
}
int main(int argc, char** argv)
{
  glutInit(&argc, argv);
  glutInitDisplayMode( GLUT_RGB );
  glutInitWindowSize(400, 400);
  glutInitWindowPosition(100, 100);
  glutCreateWindow("HULK");
  glutReshapeFunc(reshape);
  glutDisplayFunc(display);
  glutMainLoop();
  return 0;
}