#define glColoredVertex(v) glColor3fv(v[1]); \
glVertex3fv(v[0]);
void colorCube()
{
//Cornors
//front
GLfloat ftl[2][3] = {{-1.0,1.0,1.0},{1.0,0.0,1.0}}; //top left
GLfloat ftr[2][3] = {{1.0,1.0,1.0},{1.0,1.0,1.0}};
GLfloat fbl[2][3] = {{-1.0,-1.0,1.0},{1.0,0.0,0.0}};
GLfloat fbr[2][3] = {{1.0,-1.0,1.0},{1.0,1.0,0.0}};
//back
GLfloat btl[2][3] = {{-1.0,1.0,-1.0},{0.0,0.0,1.0}}; //top left
GLfloat btr[2][3] = {{1.0,1.0,-1.0},{0.0,1.0,1.0}};
GLfloat bbl[2][3] = {{-1.0,-1.0,-1.0},{0.0,0.0,0.0}};
GLfloat bbr[2][3] = {{1.0,-1.0,-1.0},{0.0,1.0,0.0}};
//glFrontFace(GL_CCW);
//front face
glNormal3f(0.0,0.0,1.0);
glBegin(GL_QUADS);
glColoredVertex(ftl);
glColoredVertex(fbl);
glColoredVertex(fbr);
glColoredVertex(ftr);
glEnd();
/*glFrontFace(GL_CW);*/
//right face
glNormal3f(1.0,0.0,0.0);
glBegin(GL_QUADS);
glColoredVertex(ftr);
glColoredVertex(fbr);
glColoredVertex(bbr);
glColoredVertex(btr);
glEnd();
//left face
//glFrontFace(GL_CCW);
glNormal3f(-1.0,0.0,0.0);
glBegin(GL_QUADS);
glColoredVertex(ftl);
glColoredVertex(btl);
glColoredVertex(bbl);
glColoredVertex(fbl);
glEnd();
//glFrontFace(GL_CCW);
//bottom face
glNormal3f(0.0,-1.0,0.0);
glBegin(GL_QUADS);
glColoredVertex(btl);
glColoredVertex(btr);
glColoredVertex(bbr);
glColoredVertex(bbl);
glEnd();
//top face
glNormal3f(0.0,1.0,0.0);
glBegin(GL_QUADS);
glColoredVertex(ftl);
glColoredVertex(ftr);
glColoredVertex(btr);
glColoredVertex(btl);
glEnd();
//back face
glNormal3f(0.0,0.0,-1.0);
glBegin(GL_QUADS);
glColoredVertex(fbl);
glColoredVertex(bbl);
glColoredVertex(bbr);
glColoredVertex(fbr);
glEnd();
}