首页 > 解决方案 > openGL ES 2 - 有没有办法附加分辨率与目标纹理不同的模板缓冲区?

问题描述

我有一个特定分辨率的输入纹理,以及一个分辨率更高的目标纹理(附加为GL_COLOR_ATTACHMENT0)。我glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)用来放大输入并在目标上绘制一些东西。

我有一个缓冲区,它的分辨率与我想用作的输入相同GL_STENCIL_ATTACHMENT。是否可以以某种方式附加它而不会出现错误GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS

标签: copengl-esopengl-es-2.0stencil-buffer

解决方案


无法将不同大小的纹理附加到帧缓冲区。

OpenGL-ES 2.0 规范在第4.4 节中声明:

如果满足以下所有条件,则帧缓冲区对象目标被称为帧缓冲区完整 [...]:

  • 所有附加的图像具有相同的宽度和高度。

如果不是这种情况,则帧缓冲区状态必须返回FRAMEBUFFER_INCOMPLETE_DIMENSIONS


推荐阅读