我正在尝试将深度缓冲区可视化以进行调试,方法是在按下某个键时将其绘制在实际渲染的顶部.它主要是工作,但结果图像似乎放大了.(它不仅仅是原始图像,在一个奇怪的灰度级)为什么它与颜色缓冲区的大小不同?
这就是我正在使用深度缓冲区的视图:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2034 次 |
| 最近记录: |