PDA

View Full Version : coding problem with cube



coda
12-08-2003, 06:19 PM
I managed to draw a cube using the tedious coding of specifying 24 points but when i tried to use vertex arrays, i can't get the cube shape (got a slight pyramid shape), can point out where is the coding wrong?

Assuming coordinates:x/-x,y/-y,1/-1(z-axis)

GLfloat v[8][3]; //vertices
//normals to faces
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}};

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} };

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;

for (i = 0; i < 6; i++) {
glBegin(GL_QUADS);
glNormal3fv(&n[i][0]);
glColor3ub(242,134,60);
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();}

coda
12-08-2003, 06:22 PM
forget to mention that the x, y values are user input values so I want to get a quad like rectangle