title: How to use depth testing when rendering to an offscreen buffer then onto texture
body: <p>I'm rendering my scene to a texture. This works fine except that depth testing does not work. How do I enable depth testing if rendering to an offscreen texture? I'm using the FrameBuffer class <a href="http://www.opengl.org/news/comments/framebuffer_object_fbo_c_class_available_with_example_application/" rel="noreferrer">http://www.opengl.org/news/comments/framebuffer_object_fbo_c_class_available_with_example_application/</a></p>
  
  <pre><code>glGetIntegerv(GL_DRAW_BUFFER, &amp;drawBuffer);
  frameBuffer-&gt;Bind();
  glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT);
  rAngle += 0.3f;
  glUseProgram(0);
  drawSpinningTeapot();
  FramebufferObject::Disable();
  
  glDrawBuffer(drawBuffer);
  glViewport(0, 0, WINDOW_WIDTH,WINDOW_HEIGHT);
  glClear(GL_COLOR_BUFFER_BIT);
  
  glUseProgram(g_program);
  glEnable(GL_DEPTH_TEST);
  glEnable(GL_TEXTURE_2D);
  glBindTexture(GL_TEXTURE_2D,tex1);
  texSampler = glGetUniformLocation(g_program,"texture");
  glUniform1f(texSampler, 0);
  glActiveTexture(GL_TEXTURE0);
  glBegin(GL_QUADS);
  {
      glTexCoord2f(0, 0); glVertex3f(-1, -1, -0.5f);
      glTexCoord2f(1, 0); glVertex3f( 1, -1, -0.5f);
      glTexCoord2f(1, 1); glVertex3f( 1,  1, -0.5f);
      glTexCoord2f(0, 1); glVertex3f(-1,  1, -0.5f);
  }
  glEnd();
  glDisable(GL_TEXTURE_2D);
  </code></pre>