5feb2015 cuadradros

2
 #include <windows.h> #include <GL/glut.h> void dibuja_cuadro() // ponemos funcion por que son los mismos cuadros { glColor3f(1.0,0.0,0.0); glBegin(GL_QUADS);  glVertex2f(-20.0,20.0);  glVertex2f(20.0,20.0);  glVertex2f(20.0,-20.0);  glVertex2f(-20.0,-20.0); glEnd(); } void display_cb (void) { glClear (GL_COLOR_BUFFER_BIT);  //ejemplo de viewport cuadro a la izq glViewport(0,300,300,300); glMatrixMode(GL_PROJECTION);// se pone para que no se modifique no se pi erda el dibujo glLoadIdentity();// se pone para que no se modifique no se pierda el dib ujo gluOrtho2D(-100,100,-100,100);// se pone para que no se modifique no se pierda el dibujo glMatrixMode(GL_MODELVIEW); dibuja_cuadro();  //ejemplo de viewport cuadro a la izq glViewport(300,300,300,300); glMatrixMode(GL_PROJECTION);// se pone para que no se modifique no se pi erda el dibujo glLoadIdentity();// se pone para que no se modifique no se pierda el dib ujo gluOrtho2D(-100,100,-100,100);// se pone para que no se modifique no se pierda el dibujo glMatrixMode(GL_MODELVIEW);  dibuja_cuadro(); //ejemplo de viewport cuadro a la derecha  glViewport(300,0,300,300); glMatrixMode(GL_PROJECTION);// se pone para que no se modifique no se pi erda el dibujo glLoadIdentity();// se pone para que no se modifique no se pierda el dib ujo gluOrtho2D(-100,100,-100,100);// se pone para que no se modifique no se pierda el dibujo glMatrixMode(GL_MODELVIEW); dibuja_cuadro(); //ejemplo de viewport cuadro a la izq glViewport(0,0,300,300); glMatrixMode(GL_PROJECTION);// se pone para que no se modifique no se pi erda el dibujo glLoadIdentity();// se pone para que no se modifique no se pierda el dib ujo gluOrtho2D(-100,100,-100,100);// se pone para que no se modifique no se

Upload: juan-manuel-torres

Post on 07-Oct-2015

213 views

Category:

Documents


0 download

DESCRIPTION

sd

TRANSCRIPT

#include #include void dibuja_cuadro() // ponemos funcion por que son los mismos cuadros {glColor3f(1.0,0.0,0.0);glBegin(GL_QUADS); glVertex2f(-20.0,20.0); glVertex2f(20.0,20.0); glVertex2f(20.0,-20.0); glVertex2f(-20.0,-20.0);glEnd();}void display_cb (void) {glClear (GL_COLOR_BUFFER_BIT); //ejemplo de viewport cuadro a la izq glViewport(0,300,300,300); glMatrixMode(GL_PROJECTION);// se pone para que no se modifique no se pierda el dibujoglLoadIdentity();// se pone para que no se modifique no se pierda el dibujogluOrtho2D(-100,100,-100,100);// se pone para que no se modifique no se pierda el dibujoglMatrixMode(GL_MODELVIEW);dibuja_cuadro(); //ejemplo de viewport cuadro a la izq glViewport(300,300,300,300); glMatrixMode(GL_PROJECTION);// se pone para que no se modifique no se pierda el dibujoglLoadIdentity();// se pone para que no se modifique no se pierda el dibujogluOrtho2D(-100,100,-100,100);// se pone para que no se modifique no se pierda el dibujoglMatrixMode(GL_MODELVIEW); dibuja_cuadro();//ejemplo de viewport cuadro a la derecha glViewport(300,0,300,300); glMatrixMode(GL_PROJECTION);// se pone para que no se modifique no se pierda el dibujoglLoadIdentity();// se pone para que no se modifique no se pierda el dibujogluOrtho2D(-100,100,-100,100);// se pone para que no se modifique no se pierda el dibujoglMatrixMode(GL_MODELVIEW);dibuja_cuadro();//ejemplo de viewport cuadro a la izq glViewport(0,0,300,300); glMatrixMode(GL_PROJECTION);// se pone para que no se modifique no se pierda el dibujoglLoadIdentity();// se pone para que no se modifique no se pierda el dibujogluOrtho2D(-100,100,-100,100);// se pone para que no se modifique no se pierda el dibujoglMatrixMode(GL_MODELVIEW); dibuja_cuadro();glFlush();}void inicializacion (void) {glClearColor (1.0, 1.0, 1.0, 0.0);//ejemplo 1: para visualizar el cuadrado en el centro//gluOrtho2D(-100,100,-100,100);//ejemplo 2: para visualizar el cuadrado en la esquina inferior derecha//gluOrtho2D(-180,20,-20,180);//ejemplo 3: para visualizar el cuadrado en la esquina superior izquierda//gluOrtho2D(-20,180,-180,20);//ejemplo 4: para visualizar el cuadrado llenando toda la ventana//gluOrtho2D(-20,20,-20,20);//ejemplo 5: ortho ajustado a la proporcin de una ventana de 800x300 //gluOrtho2D(-100,100,-37.59,37.59);}int main (int argc, char** argv) {glutInit (&argc, argv);glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);//Ortho para ejemplos 1,2,3 y 4.glutInitWindowSize(600,600);//Cambio de tamao de la ventana para el ejemplo 5//glutInitWindowSize (800, 300);glutCreateWindow ("Uso de gluOrtho2D - glViewport");glutDisplayFunc (display_cb);inicializacion();glutMainLoop();return 0;}