EJEM_01_3.c



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