c - openGL ES 2 - 有没有办法附加分辨率与目标纹理不同的模板缓冲区?
问题描述
我有一个特定分辨率的输入纹理,以及一个分辨率更高的目标纹理(附加为GL_COLOR_ATTACHMENT0
)。我glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
用来放大输入并在目标上绘制一些东西。
我有一个缓冲区,它的分辨率与我想用作的输入相同GL_STENCIL_ATTACHMENT
。是否可以以某种方式附加它而不会出现错误GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
?
解决方案
无法将不同大小的纹理附加到帧缓冲区。
OpenGL-ES 2.0 规范在第4.4 节中声明:
如果满足以下所有条件,则帧缓冲区对象目标被称为帧缓冲区完整 [...]:
- 所有附加的图像具有相同的宽度和高度。
如果不是这种情况,则帧缓冲区状态必须返回FRAMEBUFFER_INCOMPLETE_DIMENSIONS
。
推荐阅读
- java - java.lang.IllegalStateException:应为 BEGIN_OBJECT,但在第 1 行第 7770 列路径 $.films[8].images.poster 处为 BEGIN_ARRAY
- javascript - 需要用回调比较两个数组并在Javascript中返回一个对象
- macos - 从具有特定命名选项卡目标的 osx 终端打开 chrome
- python - Python 中的分页(Beautifulsoup)
- python - Discord.py 机器人没有证书
- php - 使用正则表达式匹配日期和时间
- pyomo - pyomo mindtpy 示例程序在运行时对于二进制变量变得不可行
- flutter - 如何在 Flutter 中监听 Secure Storage 中存储的值?
- python - 如何在pycharm上下载tensorflow
- dask - 代码非常慢而且几乎永无止境 - Dask 数据框将列分配给字典