我可以将两个纹理附加到一个FBO,然后使用glDrawBuffers
在两个纹理之间切换,将非活动的纹理绑定为着色器输入吗?这似乎比切换FBO以获得多遍效果要有效得多。
答案 0 :(得分:2)
如果我们假设您无权访问OpenGL 4.5/ARB/NV_texture_barrier,则没有you cannot。 OpenGL规范中禁止在帧缓冲区附加的图像上进行反馈循环的部分不在意是否可以写入该图像。对于数组层或Mipmap级别也是如此。从一层读取而写入另一层将无法保存您。
所有重要的是附件。您必须绑定没有纹理的新FBO,或者从当前FBO中删除附件。
尽管如此,纹理屏障功能使我所说的一切都不相关。而且considering how widespread it is,这实际上不是您应该关注的事情。