#include <GL/glut.h>
#include <GL/gl.h>
GLfloat anguloCuboY;
void drawCube(void)
{
glColor3f(.50f, 0.0f, 0.0f);
glBegin(GL_QUADS);
glVertex3f( 0.0f, 0.0f,0.0f);
glVertex3f(50.0f, 0.0f,0.0f);
glVertex3f(50.0f,50.0f,0.0f);
glVertex3f( 0.0f,50.0f,0.0f);
glEnd();
glColor3f(1.0f, 1.0f, 1.0f);
glBegin(GL_QUADS);
glVertex3f( 0.0f,50.0f,-50.0f);
glVertex3f(50.0f,50.0f,-50.0f);
glVertex3f(50.0f, 0.0f,-50.0f);
glVertex3f( 0.0f, 0.0f,-50.0f);
glEnd();
glColor3f(0.0f, 0.0f, 1.0f);
glBegin(GL_QUADS);
glVertex3f(50.0f, 0.0f, 0.0f);
glVertex3f(50.0f, 0.0f,-50.0f);
glVertex3f(50.0f,50.0f,-50.0f);
glVertex3f(50.0f,50.0f, 0.0f);
glEnd();
glColor3f(1.0f, 1.0f, 0.0f);
glBegin(GL_QUADS);
glVertex3f(0.0f,50.0f, 0.0f);
glVertex3f(0.0f,50.0f,-50.0f);
glVertex3f(0.0f, 0.0f,-50.0f);
glVertex3f(0.0f, 0.0f, 0.0f);
glEnd();
glColor3f(0.0f,1.0f, 1.0f);
glBegin(GL_QUADS);
glVertex3f(50.0f,50.0f,-50.0f);
glVertex3f( 0.0f,50.0f,-50.0f);
glVertex3f( 0.0f,50.0f, 0.0f);
glVertex3f(50.0f,50.0f, 0.0f);
glEnd();
glColor3f(1.0f, 0.0f, 1.0f);
glBegin(GL_QUADS);
glVertex3f( 0.0f,0.0f,-50.0f);
glVertex3f(50.0f,0.0f,-50.0f);
glVertex3f(50.0f,0.0f, 0.0f);
glVertex3f( 0.0f,0.0f, 0.0f);
glEnd();
}
void myinit(void)
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-75,75,-75,75,1,500.0);
glMatrixMode(GL_MODELVIEW);
}
void init()
{
glClearColor(0,0,0,0);
glEnable(GL_DEPTH_TEST);
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0f,0.0f,-75.0f);
glRotatef(anguloCuboY, 1.0f,1.0f,0.0f);
drawCube();
glFlush();
glutSwapBuffers();
anguloCuboY+=0.1f;
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(650, 650);
glutCreateWindow("Cubo 3D");
init();
glutDisplayFunc(display);
myinit();
glutIdleFunc(display);
glutMainLoop();
return 0;
}
No hay comentarios:
Publicar un comentario