   Using glNormalPointer with glDrawElements
  Hi.  I recently started writing a loader for 3ds files, but unfortunately I haven't been able to find any information at all on how to interpret the information on smoothing groups.  This led me to attempt to calculate and render my own normals.  Checking my values at a breakpoint, the normals are correct.  The only problem is that glDrawArrays seems to be picking them completely at random.  I've got a faces[] array that holds the indices for accessing the verts[] array.  This is fed into glDrawElements.  I figured opengl would traverse my normal array in order, but that does not seem to be the case.  It also does not seem to be the case that the indices are used on the normal array as well.  Does anyone know what method it uses to traverse the normal array?  I can't find any information on the web.   
  Can you post the relevant source code? Your description isn't helpful to debug the problem.   ;for (int i = 0; i < [objects count]; i++){glVertexPointer(3, GL_FLOAT, 0, [[objects objectAtIndex:i] verts]);glNormalPointer(GL_FLOAT, 0, [[objects objectAtIndex:i] norms]);glDrawElements(GL_TRIANGLES, [[objects objectAtIndex:i] numFaces] * 3, GL_UNSIGNED_SHORT, [[objects objectAtIndex:i] faces]);}objects is just an array of, well objects, defined by the 3ds file.  Each contains a verts array of vertices, a norms array of normals, and a faces array which holds the indices for the verts.   ;  normals and vertices go together. The same index is used for both.Don't forget to call glEnableClientState(GL_NORMAL_ARRAY).   