title: OpenGL GL_DEPTH_TEST not working
body: <p>I just ported a .obj loader to objective-C and so far, it works, I can get my vertices and normals and stuff.
  Every normal is good, pointing in the right direction, all my faces are in CCW winding, but I have some issues with the depth test.</p>
  
  <pre><code>float rotX = 0;
  float rotY = 0;
  objModel* o = [[objModel alloc] initWithPath:@"/model.obj"]
  
  glClearColor(0,0,0,0);
  
  glEnable(GL_DEPTH_TEST);
  glFrontFace(GL_CCW);
  glCullFace(GL_BACK); 
  glEnable(GL_CULL_FACE);
  glEnable(GL_LIGHTING);
  glEnable(GL_LIGHT0);
  glEnable(GL_COLOR_MATERIAL);
  
  glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
  
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();   
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity();
  glTranslated(0, -1, 0);
  glRotatef(90,0,0,1);
  glRotatef(90,0,1,0);
  glRotatef(rotX,0,0,-1);
  glRotatef(rotY,0,1,0);
  
  [o drawObjWithArrays]
  
  glFlush();
  </code></pre>
  
  <p>I have 2 different ways of drawing my object, one uses glBegin() / glEnd(), the other uses vertex and normal arrays with a call to glDrawArrays(). Both of them result in the same problem : faces that should be hidden by faces in front of them are displayed, because the depth test isn't working. The faces are drawn in the order they come in the .obj file.</p>
  
  <p>You'll find an image here : <a href="http://img524.imageshack.us/img524/994/image2jgq.png" rel="noreferrer">http://img524.imageshack.us/img524/994/image2jgq.png</a></p>
  
  <p>I quite new to OpenGL and objective-C, so I guess my problem comes from a setting that I forgot. Here they are :</p>
  
  <pre><code>-(id) initWithFrame:(NSRect) frame {
  NSLog(@"INIT GL VIEW\n");
  
  GLuint attributes[] = {
      NSOpenGLPFANoRecovery,
      NSOpenGLPFAWindow,
      NSOpenGLPFAAccelerated,
      NSOpenGLPFADoubleBuffer,
      NSOpenGLPFAColorSize, 24,
      NSOpenGLPFAAlphaSize, 8,
      NSOpenGLPFADepthSize, 24,
      NSOpenGLPFAStencilSize, 8,
      NSOpenGLPFAAccumSize, 0,
      0
  };
  
  NSOpenGLPixelFormat* fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes:(NSOpenGLPixelFormatAttribute*) attributes];
  if (!fmt)
      NSLog(@"No OpenGL pixel format");
  
  GLfloat   mat_ambient[]     = {0.0, 0.0, 1.0, 1.0};
  GLfloat   mat_flash[]       = {0.0, 0.0, 1.0, 1.0};
  GLfloat   mat_flash_shiny[] = {50.0};
  GLfloat   light_position[]  = {100.0,-200.0,-200.0,0.0};
  GLfloat   ambi[]            = {0.1, 0.1, 0.1, 0.1};
  GLfloat   lightZeroColor[]  = {0.9, 0.9, 0.9, 0.1};
  
  /* set the material */
  glLightfv(GL_LIGHT0, GL_POSITION, light_position);
  glLightfv(GL_LIGHT0, GL_AMBIENT, ambi);
  glLightfv(GL_LIGHT0, GL_DIFFUSE, lightZeroColor);
  
  glMaterialfv(GL_FRONT, GL_SHININESS, mat_flash_shiny);  
  glMaterialfv(GL_FRONT, GL_SPECULAR, mat_flash);
  glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
  
  return self = [super initWithFrame:frame pixelFormat:[fmt autorelease]]; 
  }
  </code></pre>
  
  <p>Anyone can help me ? I've tried everyone glDepthFunc, glCullFace, glFrontFace combination possible, nothing works...</p>
  
  <p>Thanks ^^</p>