   VBO help
 GLfloat cubeColor[] = {1,0,0,1,0,1,1,1,1,0,1,1};GLfloat cubeVertices[48]  = {-1.0f,1.0f,0.0f,-1.0f,-1.0f,0.0f,1.0f,-1.0f,0.0f,1.0f,1.0f,0.0, //Top 1.0f,1.0f,0.0f,1.0f,-1.0f,0.0f,1.0f,-1.0f,-1.0f,1.0f,1.0f,-1.0f // Right side-1.0f,1.0f,-1.0f,-1.0f,-1.0f,-1.0f,1.0f,-1.0f,-1.0f,1.0f,1.0f,-1.0f //Back-1.0f,1.0f,0.0f,-1.0f,-1.0f,0.0f,-1.0f,-1.0f,-1.0f,-1.0f,1.0f,-1.0f //Left side };GLvoid disp(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glLoadIdentity();glEnableClientState(GL_VERTEX_ARRAY);glEnableClientState(GL_NORMAL_ARRAY);glEnableClientState(GL_COLOR_ARRAY);glTranslatef(0.0f,0.0f,-10.0f);glRotatef(ang,0.0f,1.0f,0.0f);glVertexPointer(3,GL_FLOAT,0,cv);glColorPointer(3,GL_FLOAT,0,cubeColor);glNormalPointer(GL_FLOAT,0,verNorm);glDrawArrays(GL_QUADS,0,4);glDisableClientState(GL_VERTEX_ARRAY);glDisableClientState(GL_NORMAL_ARRAY);glDisableClientState(GL_COLOR_ARRAY);ang += 0.5f;glutPostRedisplay();glutSwapBuffers();}The code is not drawing a cube. Its only drawing a square.   
  I see.   ;  Your verticies seem off.  You're not consistent with whether you're drawing the faces of the cube clock-wise or counter-clockwise (both pairs of top/back and right/left quads are facing the same way).  Do you have back-face culling enabled?Try making a vertex structure that's easier to read...Also, your call to glDrawArrays(GL_QUADS,0,4);  The 3rd parameter: "Specifies the number of indices to be rendered."  You're only using 4 verticies, which means you'll only draw a single quad.  It should be glDrawArrays(GL_QUADS,0,num_quads*4);   