//
#include "stdafx.h"
#include <stdlib.h>
#include <GL/glut.h>
GLfloat escala = 1.25f;
GLfloat angulo = 0.0f;
GLfloat angulo1 = 0.0f;
void reshape(int width, int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-10,20,-4,10,-8,5);
glMatrixMode(GL_MODELVIEW);
}
void display(){
glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
angulo-=0.0f;
glRotatef(angulo, 1.0f, 0.0f, 0.0f);
glRotatef(angulo1, 0.0f, 1.0f, 0.0f);
glTranslatef(-5.5f,-1.5f,1.5f);
//cara frontal
//hilera 1
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,0);
glVertex3f(5,0,0);
glVertex3f(5,1,0);
glVertex3f(4,1,0);
glEnd();
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(5,0,0);
glVertex3f(6,0,0);
glVertex3f(6,1,0);
glVertex3f(5,1,0);
glEnd();
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(6,0,0);
glVertex3f(7,0,0);
glVertex3f(7,1,0);
glVertex3f(6,1,0);
glEnd();
//hilera2
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(4,1,0);
glVertex3f(5,1,0);
glVertex3f(5,2,0);
glVertex3f(4,2,0);
glEnd();
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(5,1,0);
glVertex3f(6,1,0);
glVertex3f(6,2,0);
glVertex3f(5,2,0);
glEnd();
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(6,1,0);
glVertex3f(7,1,0);
glVertex3f(7,2,0);
glVertex3f(6,2,0);
glEnd();
//hilera3
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(4,2,0);
glVertex3f(5,2,0);
glVertex3f(5,3,0);
glVertex3f(4,3,0);
glEnd();
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(5,2,0);
glVertex3f(6,2,0);
glVertex3f(6,3,0);
glVertex3f(5,3,0);
glEnd();
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(6,2,0);
glVertex3f(7,2,0);
glVertex3f(7,3,0);
glVertex3f(6,3,0);
glEnd();
//cara superior
//hilera1
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(4,3,0);
glVertex3f(5,3,0);
glVertex3f(5,3,-1);
glVertex3f(4,3,-1);
glEnd();
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(5,3,0);
glVertex3f(6,3,0);
glVertex3f(6,3,-1);
glVertex3f(5,3,-1);
glEnd();
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(6,3,0);
glVertex3f(7,3,0);
glVertex3f(7,3,-1);
glVertex3f(6,3,-1);
glEnd();
//hilera2
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(4,3,-1);
glVertex3f(5,3,-1);
glVertex3f(5,3,-2);
glVertex3f(4,3,-2);
glEnd();
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(5,3,-1);
glVertex3f(6,3,-1);
glVertex3f(6,3,-2);
glVertex3f(5,3,-2);
glEnd();
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(6,3,-1);
glVertex3f(7,3,-1);
glVertex3f(7,3,-2);
glVertex3f(6,3,-2);
glEnd();
//hilera3
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(4,3,-2);
glVertex3f(5,3,-2);
glVertex3f(5,3,-3);
glVertex3f(4,3,-3);
glEnd();
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(5,3,-2);
glVertex3f(6,3,-2);
glVertex3f(6,3,-3);
glVertex3f(5,3,-3);
glEnd();
glColor3f(1,1,1);
glBegin(GL_POLYGON);
glVertex3f(6,3,-2);
glVertex3f(7,3,-2);
glVertex3f(7,3,-3);
glVertex3f(6,3,-3);
glEnd();
//cara posterior
//hilera1
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,-3);
glVertex3f(5,0,-3);
glVertex3f(5,1,-3);
glVertex3f(4,1,-3);
glEnd();
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(5,0,-3);
glVertex3f(6,0,-3);
glVertex3f(6,1,-3);
glVertex3f(5,1,-3);
glEnd();
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(6,0,-3);
glVertex3f(7,0,-3);
glVertex3f(7,1,-3);
glVertex3f(6,1,-3);
glEnd();
//hilera2
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(4,1,-3);
glVertex3f(5,1,-3);
glVertex3f(5,2,-3);
glVertex3f(4,2,-3);
glEnd();
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(5,1,-3);
glVertex3f(6,1,-3);
glVertex3f(6,2,-3);
glVertex3f(5,2,-3);
glEnd();
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(6,1,-3);
glVertex3f(7,1,-3);
glVertex3f(7,2,-3);
glVertex3f(6,2,-3);
glEnd();
//hilera3
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(4,2,-3);
glVertex3f(5,2,-3);
glVertex3f(5,3,-3);
glVertex3f(4,3,-3);
glEnd();
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(5,2,-3);
glVertex3f(6,2,-3);
glVertex3f(6,3,-3);
glVertex3f(5,3,-3);
glEnd();
glColor3f(1,.5,0);
glBegin(GL_POLYGON);
glVertex3f(6,2,-3);
glVertex3f(7,2,-3);
glVertex3f(7,3,-3);
glVertex3f(6,3,-3);
glEnd();
//cara inferior
//hilera1
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,0);
glVertex3f(5,0,0);
glVertex3f(5,0,-1);
glVertex3f(4,0,-1);
glEnd();
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(5,0,0);
glVertex3f(6,0,0);
glVertex3f(6,0,-1);
glVertex3f(5,0,-1);
glEnd();
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(6,0,0);
glVertex3f(7,0,0);
glVertex3f(7,0,-1);
glVertex3f(6,0,-1);
glEnd();
//hilera2
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,-1);
glVertex3f(5,0,-1);
glVertex3f(5,0,-2);
glVertex3f(4,0,-2);
glEnd();
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(5,0,-1);
glVertex3f(6,0,-1);
glVertex3f(6,0,-2);
glVertex3f(5,0,-2);
glEnd();
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(6,0,-1);
glVertex3f(7,0,-1);
glVertex3f(7,0,-2);
glVertex3f(6,0,-2);
glEnd();
//hilera3
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,-2);
glVertex3f(5,0,-2);
glVertex3f(5,0,-3);
glVertex3f(4,0,-3);
glEnd();
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(5,0,-2);
glVertex3f(6,0,-2);
glVertex3f(6,0,-3);
glVertex3f(5,0,-3);
glEnd();
glColor3f(1,1,0);
glBegin(GL_POLYGON);
glVertex3f(6,0,-2);
glVertex3f(7,0,-2);
glVertex3f(7,0,-3);
glVertex3f(6,0,-3);
glEnd();
//cara derecha
//hilera 1
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,0,0);
glVertex3f(7,0,-1);
glVertex3f(7,1,-1);
glVertex3f(7,1,0);
glEnd();
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,0,-1);
glVertex3f(7,0,-2);
glVertex3f(7,1,-2);
glVertex3f(7,1,-1);
glEnd();
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,0,-2);
glVertex3f(7,0,-3);
glVertex3f(7,1,-3);
glVertex3f(7,1,-2);
glEnd();
//hilera2
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,1,0);
glVertex3f(7,1,-1);
glVertex3f(7,2,-1);
glVertex3f(7,2,-0);
glEnd();
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,1,-1);
glVertex3f(7,1,-2);
glVertex3f(7,2,-2);
glVertex3f(7,2,-1);
glEnd();
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,1,-2);
glVertex3f(7,1,-3);
glVertex3f(7,2,-3);
glVertex3f(7,2,-2);
glEnd();
//hilera3
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,2,0);
glVertex3f(7,2,-1);
glVertex3f(7,3,-1);
glVertex3f(7,3,0);
glEnd();
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,2,-1);
glVertex3f(7,2,-2);
glVertex3f(7,3,-2);
glVertex3f(7,3,-1);
glEnd();
glColor3f(0,0,1);
glBegin(GL_POLYGON);
glVertex3f(7,2,-2);
glVertex3f(7,2,-3);
glVertex3f(7,3,-3);
glVertex3f(7,3,-2);
glEnd();
//cara izquierda
//hilera 1
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,0);
glVertex3f(4,0,-1);
glVertex3f(4,1,-1);
glVertex3f(4,1,0);
glEnd();
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,-1);
glVertex3f(4,0,-2);
glVertex3f(4,1,-2);
glVertex3f(4,1,-1);
glEnd();
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,0,-2);
glVertex3f(4,0,-3);
glVertex3f(4,1,-3);
glVertex3f(4,1,-2);
glEnd();
//hilera2
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,1,0);
glVertex3f(4,1,-1);
glVertex3f(4,2,-1);
glVertex3f(4,2,-0);
glEnd();
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,1,-1);
glVertex3f(4,1,-2);
glVertex3f(4,2,-2);
glVertex3f(4,2,-1);
glEnd();
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,1,-2);
glVertex3f(4,1,-3);
glVertex3f(4,2,-3);
glVertex3f(4,2,-2);
glEnd();
//hilera3
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,2,0);
glVertex3f(4,2,-1);
glVertex3f(4,3,-1);
glVertex3f(4,3,0);
glEnd();
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,2,-1);
glVertex3f(4,2,-2);
glVertex3f(4,3,-2);
glVertex3f(4,3,-1);
glEnd();
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex3f(4,2,-2);
glVertex3f(4,2,-3);
glVertex3f(4,3,-3);
glVertex3f(4,3,-2);
glEnd();
//lineas-----------------------------------------------------------------
//cara frontal
//hilera 1
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,0,0);
glVertex3f(5,0,0);
glVertex3f(5,1,0);
glVertex3f(4,1,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,0,0);
glVertex3f(6,0,0);
glVertex3f(6,1,0);
glVertex3f(5,1,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,0,0);
glVertex3f(7,0,0);
glVertex3f(7,1,0);
glVertex3f(6,1,0);
glEnd();
//hilera2
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,1,0);
glVertex3f(5,1,0);
glVertex3f(5,2,0);
glVertex3f(4,2,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,1,0);
glVertex3f(6,1,0);
glVertex3f(6,2,0);
glVertex3f(5,2,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,1,0);
glVertex3f(7,1,0);
glVertex3f(7,2,0);
glVertex3f(6,2,0);
glEnd();
//hilera3
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,2,0);
glVertex3f(5,2,0);
glVertex3f(5,3,0);
glVertex3f(4,3,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,2,0);
glVertex3f(6,2,0);
glVertex3f(6,3,0);
glVertex3f(5,3,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,2,0);
glVertex3f(7,2,0);
glVertex3f(7,3,0);
glVertex3f(6,3,0);
glEnd();
//cara superior
//hilera1
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,3,0);
glVertex3f(5,3,0);
glVertex3f(5,3,-1);
glVertex3f(4,3,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,3,0);
glVertex3f(6,3,0);
glVertex3f(6,3,-1);
glVertex3f(5,3,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,3,0);
glVertex3f(7,3,0);
glVertex3f(7,3,-1);
glVertex3f(6,3,-1);
glEnd();
//hilera2
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,3,-1);
glVertex3f(5,3,-1);
glVertex3f(5,3,-2);
glVertex3f(4,3,-2);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,3,-1);
glVertex3f(6,3,-1);
glVertex3f(6,3,-2);
glVertex3f(5,3,-2);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,3,-1);
glVertex3f(7,3,-1);
glVertex3f(7,3,-2);
glVertex3f(6,3,-2);
glEnd();
//hilera3
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,3,-2);
glVertex3f(5,3,-2);
glVertex3f(5,3,-3);
glVertex3f(4,3,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,3,-2);
glVertex3f(6,3,-2);
glVertex3f(6,3,-3);
glVertex3f(5,3,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,3,-2);
glVertex3f(7,3,-2);
glVertex3f(7,3,-3);
glVertex3f(6,3,-3);
glEnd();
//cara posterior
//hilera1
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,0,-3);
glVertex3f(5,0,-3);
glVertex3f(5,1,-3);
glVertex3f(4,1,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,0,-3);
glVertex3f(6,0,-3);
glVertex3f(6,1,-3);
glVertex3f(5,1,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,0,-3);
glVertex3f(7,0,-3);
glVertex3f(7,1,-3);
glVertex3f(6,1,-3);
glEnd();
//hilera2
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,1,-3);
glVertex3f(5,1,-3);
glVertex3f(5,2,-3);
glVertex3f(4,2,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,1,-3);
glVertex3f(6,1,-3);
glVertex3f(6,2,-3);
glVertex3f(5,2,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,1,-3);
glVertex3f(7,1,-3);
glVertex3f(7,2,-3);
glVertex3f(6,2,-3);
glEnd();
//hilera3
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,2,-3);
glVertex3f(5,2,-3);
glVertex3f(5,3,-3);
glVertex3f(4,3,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,2,-3);
glVertex3f(6,2,-3);
glVertex3f(6,3,-3);
glVertex3f(5,3,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,2,-3);
glVertex3f(7,2,-3);
glVertex3f(7,3,-3);
glVertex3f(6,3,-3);
glEnd();
//cara inferior
//hilera1
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,0,0);
glVertex3f(5,0,0);
glVertex3f(5,0,-1);
glVertex3f(4,0,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,0,0);
glVertex3f(6,0,0);
glVertex3f(6,0,-1);
glVertex3f(5,0,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,0,0);
glVertex3f(7,0,0);
glVertex3f(7,0,-1);
glVertex3f(6,0,-1);
glEnd();
//hilera2
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,0,-1);
glVertex3f(5,0,-1);
glVertex3f(5,0,-2);
glVertex3f(4,0,-2);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,0,-1);
glVertex3f(6,0,-1);
glVertex3f(6,0,-2);
glVertex3f(5,0,-2);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,0,-1);
glVertex3f(7,0,-1);
glVertex3f(7,0,-2);
glVertex3f(6,0,-2);
glEnd();
//hilera3
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,0,-2);
glVertex3f(5,0,-2);
glVertex3f(5,0,-3);
glVertex3f(4,0,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(5,0,-2);
glVertex3f(6,0,-2);
glVertex3f(6,0,-3);
glVertex3f(5,0,-3);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(6,0,-2);
glVertex3f(7,0,-2);
glVertex3f(7,0,-3);
glVertex3f(6,0,-3);
glEnd();
//cara derecha
//hilera 1
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,0,0);
glVertex3f(7,0,-1);
glVertex3f(7,1,-1);
glVertex3f(7,1,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,0,-1);
glVertex3f(7,0,-2);
glVertex3f(7,1,-2);
glVertex3f(7,1,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,0,-2);
glVertex3f(7,0,-3);
glVertex3f(7,1,-3);
glVertex3f(7,1,-2);
glEnd();
//hilera2
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,1,0);
glVertex3f(7,1,-1);
glVertex3f(7,2,-1);
glVertex3f(7,2,-0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,1,-1);
glVertex3f(7,1,-2);
glVertex3f(7,2,-2);
glVertex3f(7,2,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,1,-2);
glVertex3f(7,1,-3);
glVertex3f(7,2,-3);
glVertex3f(7,2,-2);
glEnd();
//hilera3
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,2,0);
glVertex3f(7,2,-1);
glVertex3f(7,3,-1);
glVertex3f(7,3,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,2,-1);
glVertex3f(7,2,-2);
glVertex3f(7,3,-2);
glVertex3f(7,3,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(7,2,-2);
glVertex3f(7,2,-3);
glVertex3f(7,3,-3);
glVertex3f(7,3,-2);
glEnd();
//cara izquierda
//hilera 1
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,0,0);
glVertex3f(4,0,-1);
glVertex3f(4,1,-1);
glVertex3f(4,1,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,0,-1);
glVertex3f(4,0,-2);
glVertex3f(4,1,-2);
glVertex3f(4,1,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,0,-2);
glVertex3f(4,0,-3);
glVertex3f(4,1,-3);
glVertex3f(4,1,-2);
glEnd();
//hilera2
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,1,0);
glVertex3f(4,1,-1);
glVertex3f(4,2,-1);
glVertex3f(4,2,-0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,1,-1);
glVertex3f(4,1,-2);
glVertex3f(4,2,-2);
glVertex3f(4,2,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,1,-2);
glVertex3f(4,1,-3);
glVertex3f(4,2,-3);
glVertex3f(4,2,-2);
glEnd();
//hilera3
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,2,0);
glVertex3f(4,2,-1);
glVertex3f(4,3,-1);
glVertex3f(4,3,0);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,2,-1);
glVertex3f(4,2,-2);
glVertex3f(4,3,-2);
glVertex3f(4,3,-1);
glEnd();
glColor3f(0,0,0);
glBegin(GL_LINE_LOOP);
glVertex3f(4,2,-2);
glVertex3f(4,2,-3);
glVertex3f(4,3,-3);
glVertex3f(4,3,-2);
glEnd();
glFlush();
glutSwapBuffers();
}
void idle()
{
display();
}
void init()
{
glClearColor(0,0,0,0);
}
void handleSpecialKeypress(int key, int x, int y) {
switch (key) {
case GLUT_KEY_UP:
angulo-=10.0f;
glRotatef(angulo, 1.0f, 0.0f, 0.0f);
break;
case GLUT_KEY_DOWN:
angulo+=10.0f;
glRotatef(angulo, 1.0f, 0.0f, 0.0f);
break;
case GLUT_KEY_LEFT:
angulo1-=10.0f;
glRotatef(angulo1, 0.0f, 1.0f, 0.0f);
break;
case GLUT_KEY_RIGHT:
angulo1+=10.0f;
glRotatef(angulo1, 0.0f, 1.0f, 0.0f);
break;
}
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowPosition(500,60);
glutInitWindowSize(600,500);
glutCreateWindow("Cubo Rubick");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glEnable(GL_DEPTH_TEST);
glutIdleFunc(idle);
glutSpecialFunc(handleSpecialKeypress);
glutMainLoop();
}

No hay comentarios:
Publicar un comentario