我试图通过在按下按键时在实际呈现的顶部绘制深度缓冲区来进行调试目的。它主要工作,但生成的图像似乎放大。(它不只是原始图像,在一个奇怪的灰度)为什么它不是颜色缓冲区大小相同?可视化深度缓冲区
这是我使用的是什么样的看法的深度缓冲
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;
}