Opengl 深度缓冲区大小是否与视图端口大小相同?

Opengl 深度缓冲区大小是否与视图端口大小相同?,opengl,depth-buffer,Opengl,Depth Buffer,如果我表演 #define SCREEN_SIZE 512 glEnable(GL_DEPTH_TEST); glViewport(0, 0, SCREEN_SIZE, SCREEN_SIZE); 这是否使我的深度缓冲区大小为SCREEN\u size x SCREEN\u size 这是否使我的深度缓冲区大小为SCREEN\u size x SCREEN\u size 不可以。深度缓冲区是窗口帧缓冲区的一部分。通常,这样的窗口帧缓冲区由 前彩色平面 背色平面 深度缓冲器 模板缓冲区 所有

如果我表演

#define SCREEN_SIZE 512
glEnable(GL_DEPTH_TEST);
glViewport(0, 0, SCREEN_SIZE, SCREEN_SIZE);
这是否使我的深度缓冲区大小为SCREEN\u size x SCREEN\u size

这是否使我的深度缓冲区大小为SCREEN\u size x SCREEN\u size

不可以。深度缓冲区是窗口帧缓冲区的一部分。通常,这样的窗口帧缓冲区由

  • 前彩色平面
  • 背色平面
  • 深度缓冲器
  • 模板缓冲区

所有这些平面都具有相同的大小,即在其上创建OpenGL上下文的窗口的大小。视口仅定义窗口的子集,该窗口将映射[-1,1]范围的标准化设备坐标,即它选择帧缓冲区的一部分,该部分将用作投影目标。视口甚至不需要剪裁“超出”视口范围的内容。如果需要,必须将其与剪切测试结合起来。

我想,下一个自然问题是:如何设置深度缓冲区大小?我想使用深度缓冲区从一个角度计算曲面重叠。只需使用所需大小的帧缓冲区对象。我在获得一个将FBO与QtOpenGL结合使用的好示例时遇到了很多问题,该示例允许我这样做。也许,你有一个链接,我可以阅读?