Hi All,

I am trying to display voxels in opengl. I made a function to display cubes. when I display one or two cubes , the function works fine but when I increase the number of cubes, extra quad strips are being displayed. I am pasting one function that is displaying some extra quad strips. I expected below function to display five cubes, but rather it is displaying five cubes with some extra quad strips:

unsigned int displayCubes()

{

float x_vox = 0, y_vox = 0, z_vox = 0, x_step = 1, y_step = 1, z_step = 1;

int iDisplayListNum = glGenLists(1);

glNewList(iDisplayListNum,GL_COMPILE);

glBegin(GL_QUADS);

for(int i=0; i <5; i++)

{

x_vox = i;

y_vox = i;

z_vox = i;

glColor3f(0.3,0.8,0.7);

glVertex3f(x_vox ,y_vox ,z_vox);

glVertex3f(x_vox ,y_vox + y_step ,z_vox);

glVertex3f(x_vox + x_step ,y_vox + y_step ,z_vox);

glVertex3f(x_vox + x_step ,y_vox ,z_vox);

glColor3f(0.3,0.8,0.7);

glVertex3f(x_vox + x_step ,y_vox ,z_vox);

glVertex3f(x_vox + x_step ,y_vox + y_step ,z_vox);

glVertex3f(x_vox + x_step ,y_vox + y_step ,z_vox+z_step);

glVertex3f(x_vox + x_step ,y_vox ,z_vox+z_step);

glColor3f(0.3,0.8,0.7);

glVertex3f(x_vox + x_step ,y_vox ,z_vox+z_step);

glVertex3f(x_vox + x_step ,y_vox + y_step ,z_vox+z_step);

glVertex3f(x_vox ,y_vox + y_step ,z_vox+z_step);

glVertex3f(x_vox ,y_vox ,z_vox+z_step);

glColor3f(0.3,0.8,0.7);

glVertex3f(x_vox ,y_vox ,z_vox+z_step);

glVertex3f(x_vox ,y_vox + y_step ,z_vox+z_step);

glVertex3f(x_vox ,y_vox + y_step ,z_vox);

glVertex3f(x_vox ,y_vox ,z_vox);

glColor3f(0.3,0.8,0.7);

glVertex3f(x_vox ,y_vox ,z_vox);

glVertex3f(x_vox + x_step ,y_vox ,z_vox);

glVertex3f(x_vox + x_step ,y_vox ,z_vox+z_step);

glVertex3f(x_vox ,y_vox ,z_vox+z_step);

glColor3f(0.3,0.8,0.7);

glVertex3f(x_vox + x_step ,y_vox + y_step ,z_step);

glVertex3f(x_vox ,y_vox + y_step ,z_step);

glVertex3f(x_vox ,y_vox + y_step ,z_vox+z_step);

glVertex3f(x_vox + x_step ,y_vox + y_step ,z_vox+z_step);

}

glEnd();

glEndList();

return iDisplayListNum;

}

Please help me point out where I am doing the error.