   wired problem drawing a 3ds object
  First of all hello. I am making a pool game. The game runs without any errors on my pc. I have also tested it on about 10 other computers but on 6 of them the game crashes at the beginning. I have traced the problem to occur when drawing the 3ds pool table. To load/draw the table I use a 3ds loader made by Matthew Fairfax(which can be found here www.flipcode.com/cgi-bin/fcarticles.cgi?show=64012)I am pasting here the draw function(the crash seems to occur in the last part of the code on glDrawElements())):void Model_3DS::Draw(){    if (visible)    {    glPushMatrix();   glTranslatef(pos.x, pos.y, pos.z);   glRotatef(rot.x, 1.0f, 0.0f, 0.0f);   glRotatef(rot.y, 0.0f, 1.0f, 0.0f);   glRotatef(rot.z, 0.0f, 0.0f, 1.0f);   glScalef(scale, scale, scale);   for (int i = 0; i &lt; numObjects; i++)   {  if (Objects.textured)  glEnableClientState(GL_TEXTURE_COORD_ARRAY);    else   glDisableClientState(GL_TEXTURE_COORD_ARRAY);  if (lit) glEnableClientState(GL_NORMAL_ARRAY);if (Objects.textured) glTexCoordPointer(2, GL_FLOAT, 0, Objects.TexCoords);  if (lit) glNormalPointer(GL_FLOAT, 0, Objects.Normals);  glVertexPointer(3, GL_FLOAT, 0, Objects.Vertexes);    for (int j = 0; j &lt; Objects.numMatFaces; j ++)  { Materials[Objects.MatFaces[j].MatIndex].tex.Use(); glPushMatrix();glTranslatef(Objects.pos.x, Objects.pos.y, Objects.pos.z);glRotatef(Objects.rot.z, 0.0f, 0.0f, 1.0f);glRotatef(Objects.rot.y, 0.0f, 1.0f, 0.0f);glRotatef(Objects.rot.x, 1.0f, 0.0f, 0.0f);glDrawElements(GL_TRIANGLES, Objects.MatFaces[j].numSubFaces, GL_UNSIGNED_SHORT, Objects.MatFaces[j].subFaces); glPopMatrix();  }Thanks,Fevril   
  Some things which might help:* Generate a log file and output the values of Objects.MatFaces[j].numSubFaces and Objects.MatFaces[j].subFaces and check they are okay. * Use glIntercept to check the parameters, and make certain the crash is occuring where you think it is (I guess you can't be sure unless you are remote debugging on the other computers, or installed the dev env on all of them).* Create your own lists for glDrawElements and use them instead to check the lists are okay.* Compare glIntercept logs between computer where it does work and where it does't.Does the object draw correctly on the computers where the error does not occur?;  Make sure that every vertex array state is disabled except for the ones you need.  The way your code is right now, if you render a lit model and then an unlit model, the normal array will still be enabled for the unlit one which some drivers will crash on and others will ignore.  It's safer to just enable the arrays you need, render, and then disable every array (or use gl(Push/Pop)ClientAttrib).NVIDIA drivers tend to ignore these errors and ATI drivers tend to crash on them.  It's debatable which method is better.   