Is it ok to capture the depth buffer into a texture once scene is rendered and then just refill it from the texture? Something like this:
gl_FragDepth = texture2D(depthTexture,coords).r;
I am looking for a way to avoid rendering geometry twice just to fill the depth buffer for another op. (I am not using FBO right now).
Yes, this is exactly what I do and it works.
With the fragment shader program in use, you will also need the following lines before drawing your depth textured quad:
Thanks overlay. I have problems though with antialiasing, the edges have some flickering borders containing the previous color from the color buffer. Some subpixels problem. This doesn’t happen of course when doing rendering into depth buffer. I could just clear the color buffer with black to make it less visible but i need a solid solution as it looks extremely horrible when moving the camera.