#include <windows.h>#ifdef __APPLE__#include <GLUT/glut.h>#else#include <GL/glut.h>#endif#include <stdlib.h>#include<conio.h>#include<iostream>using namespace std;GLfloat v = 3.0,a=45,b=0,px=a,py=b,ancho,alto;void mipoligono() { glShadeModel(GL_SMOOTH); glBegin(GL_POINTS); glVertex2f(a,b); glEnd();}void objeto_geometrico(void) { mipoligono();}void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glPointSize(10); glTranslatef(px,py,0.0); glColor3f(1.0,1.0,1.0); objeto_geometrico(); glFlush(); glutSwapBuffers();}void girar_objeto_geometrico () { if(py>=0 && px > 0){ while(px < ancho-50){ display(); cout<<"el valor de a es "<<px<<"y el valor de b es"<<py<<endl; px += v; py -= v; } }}void reshape(int w, int h) { glViewport(0,0,(GLsizei)w, (GLsizei)h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-w/2,w/2,-h/2,h/2, -1.0, 1.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); ancho = w/2; alto = h/2;}int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500,500); glutCreateWindow("mi objeto bajo rotaciones"); glutReshapeFunc(reshape); // invocamos a display() para dibujar nuestra escena glutDisplayFunc(display); // esta funcion llama a girar_objeto_geométrico() mientras no haya evento alguno ocasionado por el usuario glutIdleFunc(girar_objeto_geometrico); glutKeyboardFunc(teclado); /*glutMouseFunc(mouse);*/// glutMouseFunc(control_de_Mouse); glEnable(GL_DEPTH_TEST); glutMainLoop(); return 0;}