0

如果我表演

#define SCREEN_SIZE 512
glEnable(GL_DEPTH_TEST);
glViewport(0, 0, SCREEN_SIZE, SCREEN_SIZE);

这是否使我的深度缓冲区大小为 SCREEN_SIZE x SCREEN_SIZE?

4

1 回答 1

2

这是否使我的深度缓冲区大小为 SCREEN_SIZE x SCREEN_SIZE?

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

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

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

于 2012-01-04T17:47:32.687 回答