/* EJEMPLO DE TEXTURAS */ #include <GL/glut.h> #include "ROSTRO.c" void Inicializa() { glClearColor(0.0,0.0,0.0,0.0); glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0,1.0,1.0,100.0); glMatrixMode(GL_MODELVIEW); } void display(void) { int texture; glGenTextures(1,&texture); glBindTexture(GL_TEXTURE_2D,texture); glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ); gluBuild2DMipmaps( GL_TEXTURE_2D, gimp_image.bytes_per_pixel, gimp_image.width, gimp_image.height,GL_RGB, GL_UNSIGNED_BYTE, gimp_image.pixel_data ); glEnable(GL_TEXTURE_2D); glTranslatef(0.0,0.0,-2.0); glBegin(GL_TRIANGLES); /* glTexCoord2d(0.0,1.0); glVertex3f(-0.5,-0.5,0.5); glTexCoord2d(1.0,1.0); glVertex3f(0.5,-0.5,0.5); glTexCoord2d(0.5,0.0); glVertex3f(0.0,0.5,0.5); */ glTexCoord2d(0.0,1.0); glVertex3f(-0.5,-0.5,0.5); glTexCoord2d(1.0,1.0); glVertex3f(0.5,-0.5,0.5); glTexCoord2d(0.5,0.0); glVertex3f(0.0,0.5,0.5); glEnd(); glFlush(); glDisable(GL_TEXTURE_2D); sleep(20); exit(0); } int main(int argc, char ** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); glutInitWindowPosition(20,20); glutInitWindowSize(300,300); glutCreateWindow(argv[0]); glutDisplayFunc(display); Inicializa(); glutMainLoop(); return 0; }