/* 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;
}