/* USO DE: gluPerspective(ANGULO(y), ANCHO/ALTO, z_CERCA, z_LEJOS) */
/* FRUSTUM(); */
#include <GL/glut.h>
#include <unistd.h>
void PintaEjes()
{
glBegin(GL_LINES);
glColor3f(1,0,0); glVertex3f(-5, 0, 0); glVertex3f(5, 0, 0);
glColor3f(0,1,0); glVertex3f(0, -5, 0); glVertex3f(0, 5, 0);
glColor3f(0,0,1); glVertex3f(0, 0, -5); glVertex3f(0, 0, 5);
glEnd();
}
void Gradua ( )
{
int k=0, x1,y1,x2,y2;
glBegin(GL_LINES);
glColor3f(1,0,0); for(k=1; k<10; k++) { glVertex3f(-5+k, 0.2, 0); glVertex3f(-5+k, -0.2, 0); }
glColor3f(0,1,0); for(k=1; k<10; k++) { glVertex3f(0.2, -5+k, 0); glVertex3f(-0.2, -5+k, 0); }
glColor3f(0,1,0); for(k=1; k<10; k++) { glVertex3f(0.2, 0, -5+k); glVertex3f(-0.2, 0, -5+k); }
glEnd();
}
void Dibuja(void)
{
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-5.0,5.0, -5.0,5.0, -5.0,5.0);
PintaEjes( ); Gradua( );
glMatrixMode(GL_MODELVIEW);
gluPerspective(60.0,1.0,1.0,100.0);
//gluFrustum(-x,x,-y,y,-z,z);
glTranslatef(0.0,0.0,-3.0);
glBegin(GL_QUADS);
glColor3f(1.0f, 1.0f, 0.0f);
glVertex3f(-2.0f, -2.0f, 0.0f);
glVertex3f(2.0f, -2.0f, 0.0f);
glVertex3f(2.0f, 2.0f, 0.0f);
glVertex3f(-2.0f, 2.0f, 0.0f);
glEnd();
glFlush();
sleep(3);
exit(0);
}
int main(int argc, char ** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(200,150);
glutInitWindowSize(1000,500);
glutCreateWindow(argv[0]);
glutDisplayFunc(Dibuja);
glutMainLoop();
return 0;
}