// DIBUJO DE UN ROBOT VERSION 1.0 ;-)
// _______________________________________________
#include <GL/glut.h>
#include <unistd.h>
void display(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0); // selecciona el color de borrado -negro-
/* borra la pantalla */
glClear (GL_COLOR_BUFFER_BIT); // borra la pantalla
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-50.0, 50.0, -50.0, 50.0, -50.0, 50.0);
glMatrixMode(GL_MODELVIEW);
glBegin(GL_QUADS);
glVertex3f(-5, 40, 0); glVertex3f(-5, 35, 0); glVertex3f(5, 35, 0); glVertex3f(5, 40, 0); // cabeza
glEnd();
glBegin(GL_LINES);
glVertex3f(0, 35, 0); glVertex3f(0, -20, 0); // tronco
glVertex3f(-20, 20, 0); glVertex3f(20, 20, 0); // hombros
glVertex3f(-20, 20, 0); glVertex3f(-40, 5, 0); // brazo izquierdo
glVertex3f(20, 20, 0); glVertex3f(40, 5, 0); // brazo derecho
glVertex3f(0, -20, 0); glVertex3f(-20, -40, 0); // pie izquierdo
glVertex3f(0, -20, 0); glVertex3f(20, -40, 0); // pie derecho
glEnd();
glBegin(GL_TRIANGLES);
glVertex3f(-40, 5, 0); glVertex3f(-45, 0, 0); glVertex3f(-38, 0, 0);
glVertex3f(40, 5, 0); glVertex3f(45, 0, 0); glVertex3f(38, 0, 0);
glEnd();
glFlush (); // Vacia el buffer de dibujo
sleep(10);
exit(0);
}
void inicializa (void)
{
/* inicializa los valores de la vista */
glLoadIdentity();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv); // Inicializa la libreria auxiliar GLUT
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); // Inicializa el modo de visualizacion
glutInitWindowSize (500, 500); // Indica el tamano de la ventana (ancho,alto)
glutInitWindowPosition (100, 100); // Indica la posiciOn inicial (xmin,ymin)
glutCreateWindow ("Triangulo"); // Abre la ventana con el tItulo indicado
//inicializa (); // Inicializar valores
glutDisplayFunc(display); // Indica cual es la funciOn de dibujo
glutMainLoop(); // Comienza el bucle de dibujo y proceso de eventos
return 0;
}