martes, 22 de octubre de 2013

Actividad #7 Unidad III Perspectiva - Cubo

Actividad #7 Programa Perpectiva:


// Perspectiva_Cubo.cpp: define el punto de entrada de la aplicación de consola.
//
#include "stdafx.h"
#include <stdlib.h>
#include <GL/glut.h>

GLfloat angulox = 0.0f; // variable para el angulo x
GLfloat anguloy = 0.0f; // variable para el angulo y

GLint ancho=600;
GLint alto=600;


void reshape(int width, int height)/*Esta acción afecta en principio directamente al render, puesto que se está cambiando el tamaño del plano de proyección.*/
{
 glViewport(0,0,width,height);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluPerspective(118.0f, (GLfloat)width/(GLfloat)height, 30.0f, 6.0f);
 //glOrtho(-120,120,-60,60,-70,70);/*define la proyección definida por los ejes x,y,z. Estos parámetros demilitan el volumen de vista y son, por este orden: x_mínima, x_máxima, y_mínima, y_máxima, z_mínima, z_máxima,*/
 glMatrixMode(GL_MODELVIEW);

 ancho = width;
 alto = height;
}

void cubos(void)
{

 /*==============================================================Atrás==========================================================*/
 //arriba-derecha//sincolor
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,7.8,2.8);//1
 glVertex3f(-2.8,7.8,2.8);//2
 glVertex3f(-2.8,2.8,2.8);//3
 glVertex3f(-7.8,2.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(-7.8,7.8,7.8);//1'
 glVertex3f(-2.8,7.8,7.8);//2'
 glVertex3f(-2.8,2.8,7.8);//3'
 glVertex3f(-7.8,2.8,7.8);//4'
 glEnd();
    glBegin(GL_POLYGON);
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,7.8,2.8);//1
 glVertex3f(-7.8,7.8,7.8);//1'
 glVertex3f(-7.8,2.8,7.8);//4'
 glVertex3f(-7.8,2.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(-7.8,7.8,2.8);//1
 glVertex3f(-7.8,7.8,7.8);//1'
 glVertex3f(-2.8,7.8,7.8);//2'
 glVertex3f(-2.8,7.8,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.8,7.8,2.8);//2
 glVertex3f(-2.8,7.8,7.8);//2'
 glVertex3f(-2.8,2.8,7.8);//3'
 glVertex3f(-2.8,2.8,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,2.8,2.8);//3
 glVertex3f(-2.8,2.8,7.8);//3'
 glVertex3f(-7.8,2.8,7.8);//4'
 glVertex3f(-7.8,2.8,2.8);//4
 glEnd();

 //arriba-centro
 glBegin(GL_POLYGON);//
 glVertex3f(-2.5,7.8,2.8);//1
 glVertex3f(2.5,7.8,2.8);//2
 glVertex3f(2.5,2.8,2.8);//3
 glVertex3f(-2.5,2.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(-2.5,7.8,7.8);//1'
 glVertex3f(2.5,7.8,7.8);//2'
 glVertex3f(2.5,2.8,7.8);//3'
 glVertex3f(-2.5,2.8,7.8);//4'
 glEnd();
    glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.5,7.8,2.8);//1
 glVertex3f(-2.5,7.8,7.8);//1'
 glVertex3f(-2.5,2.8,7.8);//4'
 glVertex3f(-2.5,2.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(-2.5,7.8,2.8);//1
 glVertex3f(-2.5,7.8,7.8);//1'
 glVertex3f(2.5,7.8,7.8);//2'
 glVertex3f(2.5,7.8,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.5,7.8,2.8);//2
 glVertex3f(2.5,7.8,7.8);//2'
 glVertex3f(2.5,2.8,7.8);//3'
 glVertex3f(2.5,2.8,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.5,2.8,2.8);//3
 glVertex3f(2.5,2.8,7.8);//3'
 glVertex3f(-2.5,2.8,7.8);//4'
 glVertex3f(-2.5,2.8,2.8);//4
 glEnd();

 //arriba derecha
 glBegin(GL_POLYGON);//
 glVertex3f(2.8,7.8,2.8);//1
 glVertex3f(7.8,7.8,2.8);//2
 glVertex3f(7.8,2.8,2.8);//3
 glVertex3f(2.8,2.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(2.8,7.8,7.8);//1'
 glVertex3f(7.8,7.8,7.8);//2'
 glVertex3f(7.8,2.8,7.8);//3'
 glVertex3f(2.8,2.8,7.8);//4'
 glEnd();
    glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.8,7.8,2.8);//1
 glVertex3f(2.8,7.8,7.8);//1'
 glVertex3f(2.8,2.8,7.8);//4'
 glVertex3f(2.8,2.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(2.8,7.8,2.8);//1
 glVertex3f(2.8,7.8,7.8);//1'
 glVertex3f(7.8,7.8,7.8);//2'
 glVertex3f(7.8,7.8,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,7.8,2.8);//2
 glVertex3f(7.8,7.8,7.8);//2'
 glVertex3f(7.8,2.8,7.8);//3'
 glVertex3f(7.8,2.8,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(7.8,2.8,2.8);//3
 glVertex3f(7.8,2.8,7.8);//3'
 glVertex3f(2.8,2.8,7.8);//4'
 glVertex3f(2.8,2.8,2.8);//4
 glEnd();

 //centro - izquierda
 glBegin(GL_POLYGON);//
 glVertex3f(-7.8,2.5,2.8);//1
 glVertex3f(-2.8,2.5,2.8);//2
 glVertex3f(-2.8,-2.5,2.8);//3
 glVertex3f(-7.8,-2.5,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(-7.8,2.5,7.8);//1'
 glVertex3f(-2.8,2.5,7.8);//2'
 glVertex3f(-2.8,-2.5,7.8);//3'
 glVertex3f(-7.8,-2.5,7.8);//4'
 glEnd();
    glBegin(GL_POLYGON);//
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,2.5,2.8);//1
 glVertex3f(-7.8,2.5,7.8);//1'
 glVertex3f(-7.8,-2.5,7.8);//4'
 glVertex3f(-7.8,-2.5,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,2.5,2.8);//1
 glVertex3f(-7.8,2.5,7.8);//1'
 glVertex3f(-2.8,2.5,7.8);//2'
 glVertex3f(-2.8,2.5,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-2.8,2.5,2.8);//2
 glVertex3f(-2.8,2.5,7.8);//2'
 glVertex3f(-2.8,-2.5,7.8);//3'
 glVertex3f(-2.8,-2.5,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-2.8,-2.5,2.8);//3
 glVertex3f(-2.8,-2.5,7.8);//3'
 glVertex3f(-7.8,-2.5,7.8);//4'
 glVertex3f(-7.8,-2.5,2.8);//4
 glEnd();

 //centro centro
 glBegin(GL_POLYGON);//
 glVertex3f(-2.5,2.5,2.8);//1
 glVertex3f(2.5,2.5,2.8);//2
 glVertex3f(2.5,-2.5,2.8);//3
 glVertex3f(-2.5,-2.5,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(-2.5,2.5,7.8);//1'
 glVertex3f(2.5,2.5,7.8);//2'
 glVertex3f(2.5,-2.5,7.8);//3'
 glVertex3f(-2.5,-2.5,7.8);//4'
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.5,2.5,2.8);//1
 glVertex3f(-2.5,2.5,7.8);//1'
 glVertex3f(-2.5,-2.5,7.8);//4'
 glVertex3f(-2.5,-2.5,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-2.5,2.5,2.8);//1
 glVertex3f(-2.5,2.5,7.8);//1'
 glVertex3f(2.5,2.5,7.8);//2'
 glVertex3f(2.5,2.5,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.5,2.5,2.8);//2
 glVertex3f(2.5,2.5,7.8);//2'
 glVertex3f(2.5,-2.5,7.8);//3'
 glVertex3f(2.5,-2.5,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.5,-2.5,2.8);//3
 glVertex3f(2.5,-2.5,7.8);//3'
 glVertex3f(-2.5,-2.5,7.8);//4'
 glVertex3f(-2.5,-2.5,2.8);//4
 glEnd();

 //centro-derecha
 glBegin(GL_POLYGON);//
 glVertex3f(2.8,2.5,2.8);//1
 glVertex3f(7.8,2.5,2.8);//2
 glVertex3f(7.8,-2.5,2.8);//3
 glVertex3f(2.8,-2.5,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(2.8,2.5,7.8);//1'
 glVertex3f(7.8,2.5,7.8);//2'
 glVertex3f(7.8,-2.5,7.8);//3'
 glVertex3f(2.8,-2.5,7.8);//4'
 glEnd();
    glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.8,2.5,2.8);//1
 glVertex3f(2.8,2.5,7.8);//1'
 glVertex3f(2.8,-2.5,7.8);//4'
 glVertex3f(2.8,-2.5,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.8,2.5,2.8);//1
 glVertex3f(2.8,2.5,7.8);//1'
 glVertex3f(7.8,2.5,7.8);//2'
 glVertex3f(7.8,2.5,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);//
    glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,2.5,2.8);//2
 glVertex3f(7.8,2.5,7.8);//2'
 glVertex3f(7.8,-2.5,7.8);//3'
 glVertex3f(7.8,-2.5,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(7.8,-2.5,2.8);//3
 glVertex3f(7.8,-2.5,7.8);//3'
 glVertex3f(2.8,-2.5,7.8);//4'
 glVertex3f(2.8,-2.5,2.8);//4
 glEnd();

 //Abajo izq
 glBegin(GL_POLYGON);//
 glVertex3f(-7.8,-2.8,2.8);//1
 glVertex3f(-2.8,-2.8,2.8);//2
 glVertex3f(-2.8,-7.8,2.8);//3
 glVertex3f(-7.8,-7.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(-7.8,-2.8,7.8);//1'
 glVertex3f(-2.8,-2.8,7.8);//2'
 glVertex3f(-2.8,-7.8,7.8);//3'
 glVertex3f(-7.8,-7.8,7.8);//4'
 glEnd();
    glBegin(GL_POLYGON);//
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,-2.8,2.8);//1
 glVertex3f(-7.8,-2.8,7.8);//1'
 glVertex3f(-7.8,-7.8,7.8);//4'
 glVertex3f(-7.8,-7.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,-2.8,2.8);//1
 glVertex3f(-7.8,-2.8,7.8);//1'
 glVertex3f(-2.8,-2.8,7.8);//2'
 glVertex3f(-2.8,-2.8,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-2.8,-2.8,2.8);//2
 glVertex3f(-2.8,-2.8,7.8);//2'
 glVertex3f(-2.8,-7.8,7.8);//3'
 glVertex3f(-2.8,-7.8,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(-2.8,-7.8,2.8);//3
 glVertex3f(-2.8,-7.8,7.8);//3'
 glVertex3f(-7.8,-7.8,7.8);//4'
 glVertex3f(-7.8,-7.8,2.8);//4
 glEnd();

 //abajo centro
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.5,-2.8,2.8);//1
 glVertex3f(2.5,-2.8,2.8);//2
 glVertex3f(2.5,-7.8,2.8);//3
 glVertex3f(-2.5,-7.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(-2.5,-2.8,7.8);//1'
 glVertex3f(2.5,-2.8,7.8);//2'
 glVertex3f(2.5,-7.8,7.8);//3'
 glVertex3f(-2.5,-7.8,7.8);//4'
 glEnd();
    glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.5,-2.8,2.8);//1
 glVertex3f(-2.5,-2.8,7.8);//1'
 glVertex3f(-2.5,-7.8,7.8);//4'
 glVertex3f(-2.5,-7.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-2.5,-2.8,2.8);//1
 glVertex3f(-2.5,-2.8,7.8);//1'
 glVertex3f(2.5,-2.8,7.8);//2'
 glVertex3f(2.5,-2.8,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.5,-2.8,2.8);//2
 glVertex3f(2.5,-2.8,7.8);//2'
 glVertex3f(2.5,-7.8,7.8);//3'
 glVertex3f(2.5,-7.8,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(2.5,-7.8,2.8);//3
 glVertex3f(2.5,-7.8,7.8);//3'
 glVertex3f(-2.5,-7.8,7.8);//4'
 glVertex3f(-2.5,-7.8,2.8);//4
 glEnd();

 //abajo derecha
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.8,-2.8,2.8);//1
 glVertex3f(7.8,-2.8,2.8);//2
 glVertex3f(7.8,-7.8,2.8);//3
 glVertex3f(2.8,-7.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,1.0f);// azul
 glVertex3f(2.8,-2.8,7.8);//1'
 glVertex3f(7.8,-2.8,7.8);//2'
 glVertex3f(7.8,-7.8,7.8);//3'
 glVertex3f(2.8,-7.8,7.8);//4'
 glEnd();
    glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.8,-2.8,2.8);//1
 glVertex3f(2.8,-2.8,7.8);//1'
 glVertex3f(2.8,-7.8,7.8);//4'
 glVertex3f(2.8,-7.8,2.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.8,-2.8,2.8);//1
 glVertex3f(2.8,-2.8,7.8);//1'
 glVertex3f(7.8,-2.8,7.8);//2'
 glVertex3f(7.8,-2.8,2.8);//2
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,-2.8,2.8);//2
 glVertex3f(7.8,-2.8,7.8);//2'
 glVertex3f(7.8,-7.8,7.8);//3'
 glVertex3f(7.8,-7.8,2.8);//3
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(7.8,-7.8,2.8);//3
 glVertex3f(7.8,-7.8,7.8);//3'
 glVertex3f(2.8,-7.8,7.8);//4'
 glVertex3f(2.8,-7.8,2.8);//4
 glEnd();

 /*=========================================Centro=================================================*/
 //arriba-izq
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,7.8,-2.5);//1
 glVertex3f(-2.8,7.8,-2.5);//2
 glVertex3f(-2.8,2.8,-2.5);//3
 glVertex3f(-7.8,2.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-7.8,7.8,2.5);//1'
 glVertex3f(-2.8,7.8,2.5);//2'
 glVertex3f(-2.8,2.8,2.5);//3'
 glVertex3f(-7.8,2.8,2.5);//4'
 glEnd();
    glBegin(GL_POLYGON);
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,7.8,-2.5);//1
 glVertex3f(-7.8,7.8,2.5);//1'
 glVertex3f(-7.8,2.8,2.5);//4'
 glVertex3f(-7.8,2.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(-7.8,7.8,-2.5);//1
 glVertex3f(-7.8,7.8,2.5);//1'
 glVertex3f(-2.8,7.8,2.5);//2'
 glVertex3f(-2.8,7.8,-2.5);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.8,7.8,-2.5);//2
 glVertex3f(-2.8,7.8,2.5);//2'
 glVertex3f(-2.8,2.8,2.5);//3'
 glVertex3f(-2.8,2.8,-2.5);//3
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,2.8,-2.5);//3
 glVertex3f(-2.8,2.8,2.5);//3'
 glVertex3f(-7.8,2.8,2.5);//4'
 glVertex3f(-7.8,2.8,-2.5);//4
 glEnd();

 //arriba-centro
 glBegin(GL_POLYGON);
 glVertex3f(-2.5,7.8,-2.5);//1
 glVertex3f(2.5,7.8,-2.5);//2
 glVertex3f(2.5,2.8,-2.5);//3
 glVertex3f(-2.5,2.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-2.5,7.8,2.5);//1'
 glVertex3f(2.5,7.8,2.5);//2'
 glVertex3f(2.5,2.8,2.5);//3'
 glVertex3f(-2.5,2.8,2.5);//4'
 glEnd();
    glBegin(GL_POLYGON);
 glVertex3f(-2.5,7.8,-2.5);//1
 glVertex3f(-2.5,7.8,2.5);//1'
 glVertex3f(-2.5,2.8,2.5);//4'
 glVertex3f(-2.5,2.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(-2.5,7.8,-2.5);//1
 glVertex3f(-2.5,7.8,2.5);//1'
 glVertex3f(2.5,7.8,2.5);//2'
 glVertex3f(2.5,7.8,-2.5);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.5,7.8,-2.5);//2
 glVertex3f(2.5,7.8,2.5);//2'
 glVertex3f(2.5,2.8,2.5);//3'
 glVertex3f(2.5,2.8,-2.5);//3
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.5,2.8,-2.5);//3
 glVertex3f(2.5,2.8,2.5);//3'
 glVertex3f(-2.5,2.8,2.5);//4'
 glVertex3f(-2.5,2.8,-2.5);//4
 glEnd();

 //arriba derecha
 glBegin(GL_POLYGON);
 glVertex3f(2.8,7.8,-2.5);//1
 glVertex3f(7.8,7.8,-2.5);//2
 glVertex3f(7.8,2.8,-2.5);//3
 glVertex3f(2.8,2.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.8,7.8,2.5);//1'
 glVertex3f(7.8,7.8,2.5);//2'
 glVertex3f(7.8,2.8,2.5);//3'
 glVertex3f(2.8,2.8,2.5);//4'
 glEnd();
    glBegin(GL_POLYGON);
 glVertex3f(2.8,7.8,-2.5);//1
 glVertex3f(2.8,7.8,2.5);//1'
 glVertex3f(2.8,2.8,2.5);//4'
 glVertex3f(2.8,2.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(2.8,7.8,-2.5);//1
 glVertex3f(2.8,7.8,2.5);//1'
 glVertex3f(7.8,7.8,2.5);//2'
 glVertex3f(7.8,7.8,-2.5);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,7.8,-2.5);//2
 glVertex3f(7.8,7.8,2.5);//2'
 glVertex3f(7.8,2.8,2.5);//3'
 glVertex3f(7.8,2.8,-2.5);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(7.8,2.8,-2.5);//3
 glVertex3f(7.8,2.8,2.5);//3'
 glVertex3f(2.8,2.8,2.5);//4'
 glVertex3f(2.8,2.8,-2.5);//4
 glEnd();

 //centro-izquierda
 glBegin(GL_POLYGON);
 glVertex3f(-7.8,2.5,-2.5);//1
 glVertex3f(-2.8,2.5,-2.5);//2
 glVertex3f(-2.8,-2.5,-2.5);//3
 glVertex3f(-7.8,-2.5,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-7.8,2.5,2.5);//1'
 glVertex3f(-2.8,2.5,2.5);//2'
 glVertex3f(-2.8,-2.5,2.5);//3'
 glVertex3f(-7.8,-2.5,2.5);//4'
 glEnd();
    glBegin(GL_POLYGON);
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,2.5,-2.5);//1
 glVertex3f(-7.8,2.5,2.5);//1'
 glVertex3f(-7.8,-2.5,2.5);//4'
 glVertex3f(-7.8,-2.5,-2.5);//4
    glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,2.5,-2.5);//1
 glVertex3f(-7.8,2.5,2.5);//1'
 glVertex3f(-2.8,2.5,2.5);//2'
 glVertex3f(-2.8,2.5,-2.5);//2
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,2.5,-2.5);//2
 glVertex3f(-2.8,2.5,2.5);//2'
 glVertex3f(-2.8,-2.5,2.5);//3'
 glVertex3f(-2.8,-2.5,-2.5);//3
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,-2.5,-2.5);//3
 glVertex3f(-2.8,-2.5,2.5);//3'
 glVertex3f(-7.8,-2.5,2.5);//4'
 glVertex3f(-7.8,-2.5,-2.5);//4
 glEnd();

 //centro-centro sincubo

 //centro- derecha
 glBegin(GL_POLYGON);
 glVertex3f(2.8,2.5,-2.5);//1
 glVertex3f(7.8,2.5,-2.5);//2
 glVertex3f(7.8,-2.5,-2.5);//3
 glVertex3f(2.8,-2.5,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.8,2.5,2.5);//1'
 glVertex3f(7.8,2.5,2.5);//2'
 glVertex3f(7.8,-2.5,2.5);//3'
 glVertex3f(2.8,-2.5,2.5);//4'
 glEnd();
    glBegin(GL_POLYGON);
 glVertex3f(2.8,2.5,-2.5);//1
 glVertex3f(2.8,2.5,2.5);//1'
 glVertex3f(2.8,-2.5,2.5);//4'
 glVertex3f(2.8,-2.5,-2.5);//4
 glEnd();
 glVertex3f(2.8,2.5,-2.5);//1
 glVertex3f(2.8,2.5,2.5);//1'
 glVertex3f(7.8,2.5,2.5);//2'
 glVertex3f(7.8,2.5,-2.5);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,2.5,-2.5);//2
 glVertex3f(7.8,2.5,2.5);//2'
 glVertex3f(7.8,-2.5,2.5);//3'
 glVertex3f(7.8,-2.5,-2.5);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(7.8,-2.5,-2.5);//3
 glVertex3f(7.8,-2.5,2.5);//3'
 glVertex3f(2.8,-2.5,2.5);//4'
 glVertex3f(2.8,-2.5,-2.5);//4
 glEnd();

 //abajo-izq
 glBegin(GL_POLYGON);
 glVertex3f(-7.8,-2.8,-2.5);//1
 glVertex3f(-2.8,-2.8,-2.5);//2
 glVertex3f(-2.8,-7.8,-2.5);//3
 glVertex3f(-7.8,-7.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-7.8,-2.8,2.5);//1'
 glVertex3f(-2.8,-2.8,2.5);//2'
 glVertex3f(-2.8,-7.8,2.5);//3'
 glVertex3f(-7.8,-7.8,2.5);//4'
 glEnd();
    glBegin(GL_POLYGON);
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,-2.8,-2.5);//1
 glVertex3f(-7.8,-2.8,2.5);//1'
 glVertex3f(-7.8,-7.8,2.5);//4'
 glVertex3f(-7.8,-7.8,-2.5);//4
 glEnd();
    glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,-2.8,-2.5);//1
 glVertex3f(-7.8,-2.8,2.5);//1'
 glVertex3f(-2.8,-2.8,2.5);//2'
 glVertex3f(-2.8,-2.8,-2.5);//2
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,-2.8,-2.5);//2
 glVertex3f(-2.8,-2.8,2.5);//2'
 glVertex3f(-2.8,-7.8,2.5);//3'
 glVertex3f(-2.8,-7.8,-2.5);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(-2.8,-7.8,-2.5);//3
 glVertex3f(-2.8,-7.8,2.5);//3'
 glVertex3f(-7.8,-7.8,2.5);//4'
 glVertex3f(-7.8,-7.8,-2.5);//4
 glEnd();

 //abajo-centro
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.5,-2.8,-2.5);//1
 glVertex3f(2.5,-2.8,-2.5);//2
 glVertex3f(2.5,-7.8,-2.5);//3
 glVertex3f(-2.5,-7.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(-2.5,-2.8,2.5);//1'
 glVertex3f(2.5,-2.8,2.5);//2'
 glVertex3f(2.5,-7.8,2.5);//3'
 glVertex3f(-2.5,-7.8,2.5);//4'
 glEnd();
    glBegin(GL_POLYGON);
 glVertex3f(-2.5,-2.8,-2.5);//1
 glVertex3f(-2.5,-2.8,2.5);//1'
 glVertex3f(-2.5,-7.8,2.5);//4'
 glVertex3f(-2.5,-7.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.5,-2.8,-2.5);//1
 glVertex3f(-2.5,-2.8,2.5);//1'
 glVertex3f(2.5,-2.8,2.5);//2'
 glVertex3f(2.5,-2.8,-2.5);//2
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.5,-2.8,-2.5);//2
 glVertex3f(2.5,-2.8,2.5);//2'
 glVertex3f(2.5,-7.8,2.5);//3'
 glVertex3f(2.5,-7.8,-2.5);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(2.5,-7.8,-2.5);//3
 glVertex3f(2.5,-7.8,2.5);//3'
 glVertex3f(-2.5,-7.8,2.5);//4'
 glVertex3f(-2.5,-7.8,-2.5);//4
 glEnd();

 //abajo derecha
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.8,-2.8,-2.5);//1
 glVertex3f(7.8,-2.8,-2.5);//2
 glVertex3f(7.8,-7.8,-2.5);//3
 glVertex3f(2.8,-7.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glVertex3f(2.8,-2.8,2.5);//1'
 glVertex3f(7.8,-2.8,2.5);//2'
 glVertex3f(7.8,-7.8,2.5);//3'
 glVertex3f(2.8,-7.8,2.5);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.8,-2.8,-2.5);//1
 glVertex3f(2.8,-2.8,2.5);//1'
 glVertex3f(2.8,-7.8,2.5);//4'
 glVertex3f(2.8,-7.8,-2.5);//4
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.8,-2.8,-2.5);//1
 glVertex3f(2.8,-2.8,2.5);//1'
 glVertex3f(7.8,-2.8,2.5);//2'
 glVertex3f(7.8,-2.8,-2.5);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,-2.8,-2.5);//2
 glVertex3f(7.8,-2.8,2.5);//2'
 glVertex3f(7.8,-7.8,2.5);//3'
 glVertex3f(7.8,-7.8,-2.5);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(7.8,-7.8,-2.5);//3
 glVertex3f(7.8,-7.8,2.5);//3'
 glVertex3f(2.8,-7.8,2.5);//4'
 glVertex3f(2.8,-7.8,-2.5);//4
 glEnd();

 /*=============================================frente========================================*/
 //arriba-izq
 glBegin(GL_POLYGON);
    glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(-7.8,7.8,-7.8);//1
 glVertex3f(-2.8,7.8,-7.8);//2
 glVertex3f(-2.8,2.8,-7.8);//3
 glVertex3f(-7.8,2.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,7.8,-2.8);//1'
 glVertex3f(-2.8,7.8,-2.8);//2'
 glVertex3f(-2.8,2.8,-2.8);//3'
 glVertex3f(-7.8,2.8,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,7.8,-7.8);//1
 glVertex3f(-7.8,7.8,-2.8);//1'
 glVertex3f(-7.8,2.8,-2.8);//4'
 glVertex3f(-7.8,2.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(-7.8,7.8,-7.8);//1
 glVertex3f(-7.8,7.8,-2.8);//1'
 glVertex3f(-2.8,7.8,-2.8);//2'
 glVertex3f(-2.8,7.8,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.8,7.8,-7.8);//2
 glVertex3f(-2.8,7.8,-2.8);//2'
 glVertex3f(-2.8,2.8,-2.8);//3'
 glVertex3f(-2.8,2.8,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,2.8,-7.8);//3
 glVertex3f(-2.8,2.8,-2.8);//3'
 glVertex3f(-7.8,2.8,-2.8);//4'
 glVertex3f(-7.8,2.8,-7.8);//4
 glEnd();

 //arriba-centro
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(-2.5,7.8,-7.8);//1
 glVertex3f(2.5,7.8,-7.8);//2
 glVertex3f(2.5,2.8,-7.8);//3
 glVertex3f(-2.5,2.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.5,7.8,-2.8);//1'
 glVertex3f(2.5,7.8,-2.8);//2'
 glVertex3f(2.5,2.8,-2.8);//3'
 glVertex3f(-2.5,2.8,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.5,7.8,-7.8);//1
 glVertex3f(-2.5,7.8,-2.8);//1'
 glVertex3f(-2.5,2.8,-2.8);//4'
 glVertex3f(-2.5,2.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(-2.5,7.8,-7.8);//1
 glVertex3f(-2.5,7.8,-2.8);//1'
 glVertex3f(2.5,7.8,-2.8);//2'
 glVertex3f(2.5,7.8,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.5,7.8,-7.8);//2
 glVertex3f(2.5,7.8,-2.8);//2'
 glVertex3f(2.5,2.8,-2.8);//3'
 glVertex3f(2.5,2.8,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.5,2.8,-7.8);//3
 glVertex3f(2.5,2.8,-2.8);//3'
 glVertex3f(-2.5,2.8,-2.8);//4'
 glVertex3f(-2.5,2.8,-7.8);//4
 glEnd();

 //arriba-derecha
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(2.8,7.8,-7.8);//1
 glVertex3f(7.8,7.8,-7.8);//2
 glVertex3f(7.8,2.8,-7.8);//3
 glVertex3f(2.8,2.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.8,7.8,-2.8);//1'
 glVertex3f(7.8,7.8,-2.8);//2'
 glVertex3f(7.8,2.8,-2.8);//3'
 glVertex3f(2.8,2.8,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.8,7.8,-7.8);//1
 glVertex3f(2.8,7.8,-2.8);//1'
 glVertex3f(2.8,2.8,-2.8);//4'
 glVertex3f(2.8,2.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f, 1.0f, 0.0f); // verde
 glVertex3f(2.8,7.8,-7.8);//1
 glVertex3f(2.8,7.8,-2.8);//1'
 glVertex3f(7.8,7.8,-2.8);//2'
 glVertex3f(7.8,7.8,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,7.8,-7.8);//2
 glVertex3f(7.8,7.8,-2.8);//2'
 glVertex3f(7.8,2.8,-2.8);//3'
 glVertex3f(7.8,2.8,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(7.8,2.8,-7.8);//3
 glVertex3f(7.8,2.8,-2.8);//3'
 glVertex3f(2.8,2.8,-2.8);//4'
 glVertex3f(2.8,2.8,-7.8);//4
 glEnd();

 //centro-izquierda
 glBegin(GL_POLYGON);
    glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(-7.8,2.5,-7.8);//1
 glVertex3f(-2.8,2.5,-7.8);//2
 glVertex3f(-2.8,-2.5,-7.8);//3
 glVertex3f(-7.8,-2.5,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,2.5,-2.8);//1'
 glVertex3f(-2.8,2.5,-2.8);//2'
 glVertex3f(-2.8,-2.5,-2.8);//3'
 glVertex3f(-7.8,-2.5,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,2.5,-7.8);//1
 glVertex3f(-7.8,2.5,-2.8);//1'
 glVertex3f(-7.8,-2.5,-2.8);//4'
 glVertex3f(-7.8,-2.5,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,2.5,-7.8);//1
 glVertex3f(-7.8,2.5,-2.8);//1'
 glVertex3f(-2.8,2.5,-2.8);//2'
 glVertex3f(-2.8,2.5,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,2.5,-7.8);//2
 glVertex3f(-2.8,2.5,-2.8);//2'
 glVertex3f(-2.8,-2.5,-2.8);//3'
 glVertex3f(-2.8,-2.5,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,-2.5,-7.8);//3
 glVertex3f(-2.8,-2.5,-2.8);//3'
 glVertex3f(-7.8,-2.5,-2.8);//4'
 glVertex3f(-7.8,-2.5,-7.8);//4
 glEnd();

 //centro-centro
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(-2.5,2.5,-7.8);//1
 glVertex3f(2.5,2.5,-7.8);//2
 glVertex3f(2.5,-2.5,-7.8);//3
 glVertex3f(-2.5,-2.5,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.5,2.5,-2.8);//1'
 glVertex3f(2.5,2.5,-2.8);//2'
 glVertex3f(2.5,-2.5,-2.8);//3'
 glVertex3f(-2.5,-2.5,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.5,2.5,-7.8);//1
 glVertex3f(-2.5,2.5,-2.8);//1'
 glVertex3f(-2.5,-2.5,-2.8);//4'
 glVertex3f(-2.5,-2.5,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.5,2.5,-7.8);//1
 glVertex3f(-2.5,2.5,-2.8);//1'
 glVertex3f(2.5,2.5,-2.8);//2'
 glVertex3f(2.5,2.5,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.5,2.5,-7.8);//2
 glVertex3f(2.5,2.5,-2.8);//2'
 glVertex3f(2.5,-2.5,-2.8);//3'
 glVertex3f(2.5,-2.5,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.5,-2.5,-7.8);//3
 glVertex3f(2.5,-2.5,-2.8);//3'
 glVertex3f(-2.5,-2.5,-2.8);//4'
 glVertex3f(-2.5,-2.5,-7.8);//4
 glEnd();

 //centro-derecha
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(2.8,2.5,-7.8);//1
 glVertex3f(7.8,2.5,-7.8);//2
 glVertex3f(7.8,-2.5,-7.8);//3
 glVertex3f(2.8,-2.5,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.8,2.5,-2.8);//1'
 glVertex3f(7.8,2.5,-2.8);//2'
 glVertex3f(7.8,-2.5,-2.8);//3'
 glVertex3f(2.8,-2.5,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.8,2.5,-7.8);//1
 glVertex3f(2.8,2.5,-2.8);//1'
 glVertex3f(2.8,-2.5,-2.8);//4'
 glVertex3f(2.8,-2.5,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.8,2.5,-7.8);//1
 glVertex3f(2.8,2.5,-2.8);//1'
 glVertex3f(7.8,2.5,-2.8);//2'
 glVertex3f(7.8,2.5,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,2.5,-7.8);//2
 glVertex3f(7.8,2.5,-2.8);//2'
 glVertex3f(7.8,-2.5,-2.8);//3'
 glVertex3f(7.8,-2.5,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(7.8,-2.5,-7.8);//3
 glVertex3f(7.8,-2.5,-2.8);//3'
 glVertex3f(2.8,-2.5,-2.8);//4'
 glVertex3f(2.8,-2.5,-7.8);//4
 glEnd();

 //abajo izq
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(-7.8,-2.8,-7.8);//1
 glVertex3f(-2.8,-2.8,-7.8);//2
 glVertex3f(-2.8,-7.8,-7.8);//3
 glVertex3f(-7.8,-7.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,-2.8,-2.8);//1'
 glVertex3f(-2.8,-2.8,-2.8);//2'
 glVertex3f(-2.8,-7.8,-2.8);//3'
 glVertex3f(-7.8,-7.8,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.5f, 0.0f, 1.0f); //morado
 glVertex3f(-7.8,-2.8,-7.8);//1
 glVertex3f(-7.8,-2.8,-2.8);//1'
 glVertex3f(-7.8,-7.8,-2.8);//4'
 glVertex3f(-7.8,-7.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-7.8,-2.8,-7.8);//1
 glVertex3f(-7.8,-2.8,-2.8);//1'
 glVertex3f(-2.8,-2.8,-2.8);//2'
 glVertex3f(-2.8,-2.8,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.8,-2.8,-7.8);//2
 glVertex3f(-2.8,-2.8,-2.8);//2'
 glVertex3f(-2.8,-7.8,-2.8);//3'
 glVertex3f(-2.8,-7.8,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(-2.8,-7.8,-7.8);//3
 glVertex3f(-2.8,-7.8,-2.8);//3'
 glVertex3f(-7.8,-7.8,-2.8);//4'
 glVertex3f(-7.8,-7.8,-7.8);//4
 glEnd();

 //abajo-centro
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(-2.5,-2.8,-7.8);//1
 glVertex3f(2.5,-2.8,-7.8);//2
 glVertex3f(2.5,-7.8,-7.8);//3
 glVertex3f(-2.5,-7.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(-2.5,-2.8,-2.8);//1'
 glVertex3f(2.5,-2.8,-2.8);//2'
 glVertex3f(2.5,-7.8,-2.8);//3'
 glVertex3f(-2.5,-7.8,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.5,-2.8,-7.8);//1
 glVertex3f(-2.5,-2.8,-2.8);//1'
 glVertex3f(-2.5,-7.8,-2.8);//4'
 glVertex3f(-2.5,-7.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(-2.5,-2.8,-7.8);//1
 glVertex3f(-2.5,-2.8,-2.8);//1'
 glVertex3f(2.5,-2.8,-2.8);//2'
 glVertex3f(2.5,-2.8,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.5,-2.8,-7.8);//2
 glVertex3f(2.5,-2.8,-2.8);//2'
 glVertex3f(2.5,-7.8,-2.8);//3'
 glVertex3f(2.5,-7.8,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(2.5,-7.8,-7.8);//3
 glVertex3f(2.5,-7.8,-2.8);//3'
 glVertex3f(-2.5,-7.8,-2.8);//4'
 glVertex3f(-2.5,-7.8,-7.8);//4
 glEnd();

 //abajo-derecha
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 1.0f, 0.0f); // amarillo
 glVertex3f(2.8,-2.8,-7.8);//1
 glVertex3f(7.8,-2.8,-7.8);//2
 glVertex3f(7.8,-7.8,-7.8);//3
 glVertex3f(2.8,-7.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);//
 glColor3f(0.0f,0.0f,0.0f);//negro
 glVertex3f(2.8,-2.8,-2.8);//1'
 glVertex3f(7.8,-2.8,-2.8);//2'
 glVertex3f(7.8,-7.8,-2.8);//3'
 glVertex3f(2.8,-7.8,-2.8);//4'
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.8,-2.8,-7.8);//1
 glVertex3f(2.8,-2.8,-2.8);//1'
 glVertex3f(2.8,-7.8,-2.8);//4'
 glVertex3f(2.8,-7.8,-7.8);//4
 glEnd();
 glBegin(GL_POLYGON);
 glVertex3f(2.8,-2.8,-7.8);//1
 glVertex3f(2.8,-2.8,-2.8);//1'
 glVertex3f(7.8,-2.8,-2.8);//2'
 glVertex3f(7.8,-2.8,-7.8);//2
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f, 0.0f, 0.0f); // rojo
 glVertex3f(7.8,-2.8,-7.8);//2
 glVertex3f(7.8,-2.8,-2.8);//2'
 glVertex3f(7.8,-7.8,-2.8);//3'
 glVertex3f(7.8,-7.8,-7.8);//3
 glEnd();
 glBegin(GL_POLYGON);
 glColor3f(1.0f,1.0f,1.0f);//blanco
 glVertex3f(7.8,-7.8,-7.8);//3
 glVertex3f(7.8,-7.8,-2.8);//3'
 glVertex3f(2.8,-7.8,-2.8);//4'
 glVertex3f(2.8,-7.8,-7.8);//4
 glEnd();

}

void display()/*Aquí se define el primer callback. La función pasada como parámetro será llamada cada vez que GLUT determine oportuno que la ventana debe ser redibujada, como al maximizarse, poner otras ventanas por encima y después quitarlas, etc.*/
{

 glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT);
 glLoadIdentity();
 glRotatef(angulox, 1.0f, 0.0f, 0.0f);//rotar en x
 glRotatef(anguloy, 0.0f, 1.0f, 0.0f);//rotar en y
 cubos();
 glFlush();/*vacía todos los comandos en estos buffers y las fuerzas de todos los comandos pendientes voluntad de ser ejecutadas inmediatamente y sin topes de espera están llenas.*/
 glutSwapBuffers();/*promueve el contenido de la memoria intermedia posterior de la capa en el uso de la ventana actual para convertirse en el contenido del búfer frontal. */

}
void init()
{
    glClearColor(0,0,0,0);
    glEnable(GL_DEPTH_TEST);// tapa las lineas que estan debajo de ellas
}

void idle()
{
    display();
}

void ArrowKey(int key, int x, int y){ //funcion para trasladar en -x,x,-y,y

switch (key){
case GLUT_KEY_RIGHT:
  angulox+=1.65f;
break;

case GLUT_KEY_LEFT:
 angulox-=1.65f;
break;

case GLUT_KEY_UP:
 anguloy+=1.65f;
 break;

case GLUT_KEY_DOWN:
  anguloy-=1.65f;
break;
}
}
void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 27:
exit(0);
break;
}
}
int main(int argc, char **argv) //Funcion para crear ventana
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);/*GLUT_DOUBLE para que glutSwapBuffers() tenga efecto, CON GLUT_SINGLE no hay efecto;GLUT_SINGLE para que glFlush() tenga efecto  */
 glutInitWindowPosition(500,60);//Posicion de la ventana
 glutInitWindowSize(alto,ancho);//tamaño de la ventana
 glutCreateWindow("Cubo de Rubik");//Mensaje de la ventana
 init();/*activa, define una serie de estados de ogl, antes de pasar el control del programa a la GLUT.*/
 glutDisplayFunc(display);
 glutReshapeFunc(reshape);
 glutIdleFunc(idle);
 glutKeyboardFunc(keyboard);
 glutSpecialFunc(ArrowKey);
 glutMainLoop();
}

No hay comentarios:

Publicar un comentario