miércoles, 14 de marzo de 2012

Cubo en 3d

#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