一个FBO中具有不同大小纹理的多个渲染目标?

时间:2013-09-07 22:41:33

标签: opengl framebuffer

我可以将不同大小的纹理附加到单个FBO,然后将它们用于多个渲染目标吗?我是否需要对glViewport做一些特殊的事情来实现这一目标?假设COLOR_ATTACHMENT0的纹理为1024x1024,COLOR_ATTACHMENT1的纹理为512x512,我调用glDrawBuffers(2, {COLOR_ATTACHMENT0, COLOR_ATTACHMENT1})(我意识到语法不正确,但你明白了......),将它渲染两个附件中的完整场景?我主要认为这样做的效用就是能够一次性渲染一个完整质量的场景和一个下采样的版本,可能还有某些掩模或任何东西,因此它可以用于效果合成器/后处理。非常感谢!

1 个答案:

答案 0 :(得分:3)

从GL3.0开始,您可以实际添加不同大小的纹理。但是你必须意识到渲染区域将是最小的纹理之一。在这里阅读:  http://www.opengl.org/wiki/Framebuffer_Object