Visualize the depth buffer
- by Thanatos
I'm attempting to visualize the depth buffer for debugging purposes, by drawing it on top of the actual rendering when a key is pressed. It's mostly working, but the resulting image appears to be zoomed in. (It's not just the original image, in an odd grayscale) Why is it not the same size as the color buffer?
This is what I'm using the view the depth buffer:
void get_gl_size(int &width, int &height)
{
int iv[4];
glGetIntegerv(GL_VIEWPORT, iv);
width = iv[2];
height = iv[3];
}
void visualize_depth_buffer()
{
int width, height;
get_gl_size(width, height);
float *data = new float[width * height];
glReadPixels(0, 0, width, height, GL_DEPTH_COMPONENT, GL_FLOAT, data);
glDrawPixels(width, height, GL_LUMINANCE, GL_FLOAT, data);
delete [] data;
}