okie this is wat i did:
void CMainDialog::shape()
{
//normals for 6 surfaces of cube
GLfloat n[6][3]={{-1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {1.0, 0.0, 0.0},{0.0, -1.0, 0.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, -1.0}};
//vertex indices for 6 faces of cube
GLint faces[6][4]={{0, 1, 2, 3},
{3, 2, 6, 7}, {7, 6, 5, 4},{4, 5, 1, 0},
{5, 6, 2, 1}, {7, 4, 0, 3} };
//coordinates of vertices
v[0][0] = v[1][0] = v[2][0] = v[3][0] = x;
v[4][0] = v[5][0] = v[6][0] = v[7][0] = -x;
v[0][1] = v[1][1] = v[4][1] = v[5][1] = -y;
v[2][1] = v[3][1] = v[6][1] = v[7][1] = y;
v[0][2] = v[3][2] = v[4][2] = v[7][2] = 1;
v[1][2] = v[2][2] = v[5][2] = v[6][2] = -1;
int i=0;
for (i = 0; i < 6; i++) {
glBegin(GL_QUADS);
glNormal3fv(&n[i][0]);
glVertex3fv(&v[faces[i][0]][0]);
glVertex3fv(&v[faces[i][1]][0]);
glVertex3fv(&v[faces[i][2]][0]);
glVertex3fv(&v[faces[i][3]][0]);
glEnd();}
}
void CMainDialog::aniso()
{
glBegin(GL_POLYGON);
glNormal3f( 0.0f, 0.0f, 1.0f); glVertex3f(-w, y, 1.0f); glVertex3f(-x, y, 1.0f); glVertex3f(-x,-y, 1.0f); glVertex3f(0,-y, 1.0f); glVertex3f(0,y-(1.414*w),1.0f);
glEnd();
glBegin(GL_POLYGON);
glNormal3f( 0.0f, 0.0f,-1.0f);
glVertex3f(-x,y,-1.0f); glVertex3f(-w,y,-1.0f); glVertex3f(0,y-(1.414*w),-1.0f); glVertex3f(0,-y,-1.0f); glVertex3f(-x,-y,-1.0f);
glEnd();
glBegin(GL_QUADS);
glNormal3f( 0.0f, 1.0f, 0.0f);
glVertex3f(-w, y,-1.0f); glVertex3f(-x, y,-1.0f); glVertex3f(-x, y, 1.0f); glVertex3f(-w, y, 1.0f);
glNormal3f( 0.0f,-1.0f, 0.0f);
glVertex3f( 0,-y, 1.0f); glVertex3f(-x,-y, 1.0f); glVertex3f(-x,-y,-1.0f); glVertex3f( 0,-y,-1.0f);
glNormal3f(-1.0f, 0.0f, 0.0f);
glVertex3f(-x, y, 1.0f); glVertex3f(-x, y,-1.0f); glVertex3f(-x,-y,-1.0f); glVertex3f(-x,-y, 1.0f);
glNormal3f( 1.0f, 0.0f, 0.0f);
glVertex3f( 0, y-(1.414*w),-1.0f); glVertex3f( 0, y-(1.414*w), 1.0f);
glVertex3f( 0,-y, 1.0f); glVertex3f( 0,-y,-1.0f);
glNormal3f( 0.816f, 0.577f, 0.0f); glVertex3f( -w, y,-1.0f); glVertex3f( -w, y, 1.0f); glVertex3f( 0,y-(1.414*w), 1.0f); glVertex3f( 0,y-(1.414*w),-1.0f); glEnd();
}