#include #include float s = 1; void Inicializa(void) { glClearColor(1.0,1.0,1.0,0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 640.0, 0.0, 480.0); } void Dibuja(void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0.5, 0.2); glBegin(GL_TRIANGLES); glVertex2f(150*s, 50*s); glVertex2f(250*s, 50*s); glVertex2f(200*s, 150*s); glEnd(); glFlush(); } void Crece(void) { if (s<=2.5) s+=.001; //escala hasta 2.5 veces glutPostRedisplay(); } void Salir(unsigned char key, int x, int y) { if(key == 27) exit (0); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640,480); glutInitWindowPosition(100, 150); glutCreateWindow("Triangulo"); Inicializa(); glutDisplayFunc(Dibuja); glutIdleFunc(Crece); glutKeyboardFunc(Salir); glutMainLoop(); return 0; }