Antworten:
Das kannst du nicht.
Dies ist beabsichtigt. OpenGL (und ältere Versionen von DirectX) wurden in den Tagen entwickelt, als Windows-Apps buchstäblich denselben Frame-Puffer gemeinsam nutzten. Das heißt, wenn Sie zwei überlappende Fenster hätten, würden die Fenster versuchen, genau die gleichen Pixel aus den Farb-, Tiefen- und Schablonenpuffern zu verwenden. Die Fenstersysteme behandelten dies über eine fest codierte Maskierungsoperation.
Mit anderen Worten, Sie besitzen nicht den Standardtiefenpuffer, können den Standardtiefenpuffer nicht ändern und können nicht zuverlässig aus dem Standardtiefenpuffer in der OpenGL-API lesen.
Am besten machen Sie einfach das gesamte Rendering in einem FBO und verwenden dann einen Textur-Blit, um das endgültige Bild in den Standard-FBO zu übertragen.