una pregunta como se cargan texturas en opengl quiero pintar hierva en mi proyecto mi codigo es este: #include<GL/glut.h> #include <GL/glu.h> #include <GL/gl.h> #include <iostream>
#include <gl/glaux.h>
#include <GL/glut.h>
float tamanno = 1.0f; int up, down; int alto, ancho;
void IniciarGLUT() { glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(600,600); glutInitWindowPosition(100,100); glutCreateWindow("Practica III,1 de OpenGL"); }
void PintarEscena() { glMatrixMode(GL_MODELVIEW); glClear(GL_COLOR_BUFFER_BIT); glLoadIdentity();
glFlush();
glBegin (GL_LINES); glVertex2i(-8,6); glVertex2i(8,6);
glVertex2i(-8,5); glVertex2i(8,5);
glVertex2i(-8,4); glVertex2i(8,4);
glVertex2i(-8,3); glVertex2i(8,3);
glVertex2i(-8,2); glVertex2i(8,2);
glVertex2i(-8,1); glVertex2i(8,1);
glVertex2i(-8,0); glVertex2i(8,0);
glVertex2i(-8,-1); glVertex2i(8,-1);
glVertex2i(-8,-2); glVertex2i(8,-2);
glVertex2i(-8,-3); glVertex2i(8,-3);
glVertex2i(-8,-4); glVertex2i(8,-4);
glVertex2i(-8,-5); glVertex2i(8,-5);
glVertex2i(-8,-6); glVertex2i(8,-6);
glVertex2i(-8,6); glVertex2i(-8,-6);
glVertex2i(-7,6); glVertex2i(-7,-6);
glVertex2i(-6,6); glVertex2i(-6,-6);
glVertex2i(-5,6); glVertex2i(-5,-6);
glVertex2i(-4,6); glVertex2i(-4,-6);
glVertex2i(-3,6); glVertex2i(-3,-6);
glVertex2i(-2,6); glVertex2i(-2,-6);
glVertex2i(-1,6); glVertex2i(-1,-6);
glVertex2i(0,6); glVertex2i(0,-6);
glVertex2i(1,6); glVertex2i(1,-6);
glVertex2i(2,6); glVertex2i(2,-6);
glVertex2i(3,6); glVertex2i(3,-6);
glVertex2i(4,6); glVertex2i(4,-6);
glVertex2i(5,6); glVertex2i(5,-6);
glVertex2i(6,6); glVertex2i(6,-6);
glVertex2i(7,6); glVertex2i(7,-6);
glVertex2i(8,6); glVertex2i(8,-6);
glEnd();
glutSwapBuffers(); }
void ReProyectar(int w, int h) { ancho = w; alto = h; GLfloat formato;
if(h == 0) h = 1;
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION); glLoadIdentity();
formato = (GLfloat)w / (GLfloat)h; if (w <= h) glOrtho (-10.0f*tamanno, 10.0f*tamanno, -10.0f*tamanno / formato, 10.0f*tamanno / formato, 1.0f, -1.0f); else glOrtho (-10.0f*tamanno * formato, 10.0f*tamanno * formato, -10.0f*tamanno, 10.0f*tamanno, 1.0f, -1.0f); }
void Zoom(int value) { if (up) tamanno = tamanno * 1.01f; if (down) tamanno = tamanno / 1.01f;
ReProyectar(ancho,alto); glutTimerFunc(33,Zoom,1); glutPostRedisplay(); }
void Flechas(int key, int x, int y) { if (key==GLUT_KEY_UP) up = 1; if (key==GLUT_KEY_DOWN) down = 1; }
void FlechasUp(int key, int x, int y) { if (key==GLUT_KEY_UP) up = 0; if (key==GLUT_KEY_DOWN) down = 0; }
int main(int argc, char **argv) { glutInit(&argc,argv); //Solo necesario en Linux IniciarGLUT();
glutReshapeFunc(ReProyectar); glutDisplayFunc(PintarEscena); glutTimerFunc(33,Zoom,1); glutSpecialFunc(Flechas); glutSpecialUpFunc(FlechasUp);
glutMainLoop(); return 0; }
|