Is there anyway to get a pointer to the Zbuffer or in any other way directly access it.

You can’t obtain a pointer to the ZBuffer.

The only thing you can do is read it by using glReadPixels with GL_DEPTH_COMPONENT for the “format” parameter.

Basically, you can not have any pointer to any OpenGL buffer. glReadPixels is the only way to go (but big WARNING : it is very slow !).

By the way, if you want to write pixels, use glDrawPixels or glCopyPixels.