Visualize the depth buffer

Posted by Thanatos on Stack Overflow See other posts from Stack Overflow or by Thanatos
Published on 2010-04-30T16:24:40Z Indexed on 2010/04/30 16:27 UTC
Read the original article Hit count: 392

Filed under:
|

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;
}

© Stack Overflow or respective owner

Related posts about opengl

Related posts about c++