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