/* JUGANDO CON glTranslatef */ #include <GL/glut.h> #include <unistd.h> void PintaEjes() { glBegin(GL_LINES); glColor3f(1,0,0); glVertex3f(-100, 0, 0); glVertex3f(100, 0, 0); glColor3f(0,1,0); glVertex3f(0, -100, 0); glVertex3f(0, 100, 0); glEnd(); } void Gradua ( ) { int k=0, x1,y1,x2,y2; glBegin(GL_LINES); glColor3f(1,0,0); for(k=0; k<200; k+=10) { glVertex3f(-100+k, 5, 0); glVertex3f(-100+k, -5, 0); } glColor3f(0,1,0); for(k=0; k<200; k+=10) { glVertex3f(5, -100+k, 0); glVertex3f(-5, -100+k, 0); } glEnd(); } void Dibuja(void) { glClearColor(0.5,0.5,0.5,0.0); // Selecciona el color de borrado glClear(GL_COLOR_BUFFER_BIT); // borra la pantalla glMatrixMode(GL_PROJECTION); // proyecciOn Perspectiva glLoadIdentity(); // Limpiar cualquier alteración (rotar, escalar, etc.) glOrtho(-100.0, 100.0, -100.0, 100.0, -1.0, 1.0); // dimensiones de la caja de dibujo glMatrixMode(GL_MODELVIEW); // Perspectiva PintaEjes(); Gradua(); glTranslatef(0.0,0.0,0.0); glBegin(GL_QUADS); glColor3f(0.0,1.0,1.0); // Color para el cuadrado glVertex3f(-50.0,50.0,1.0); // Coordenadas del primer vértice (superior-izquierda) glVertex3f(-50.0,-50.0,1.0); // Coordenadas del segundo vértice (inferior-izquierda) glVertex3f(50.0,-50.0,1.0); // Coordenadas del primer vértice (inferior-derecha) glVertex3f(50.0,50.0,1.0); // Coordenadas del primer vértice (superior-derecha) glEnd(); glFlush(); sleep(20); exit(0); } int main(int argc, char ** argv) { glutInit(&argc, argv); // Se inicializa el sistema glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA); glutInitWindowPosition(200,150); // Columna, Renglón glutInitWindowSize(500,500); glutCreateWindow(argv[0]); glutDisplayFunc(Dibuja); glutMainLoop(); return 0; }