纹理可以绑定到多个 fbo 吗?
Posted
技术标签:
【中文标题】纹理可以绑定到多个 fbo 吗?【英文标题】:Can a texture be bound to more than one fbo? 【发布时间】:2013-08-04 23:18:50 【问题描述】:可以将同一个纹理绑定到多个帧缓冲区对象吗? 我需要在具有特定 fbo 的多目标渲染通道中写入一些纹理,然后将一些混合添加到其中一个纹理中,因此我需要第二个帧缓冲区对象,该对象绑定到该纹理。
【问题讨论】:
【参考方案1】:我不知道为什么你会认为你不能附加一个纹理到多个 FBO。所以是的,你可以。
但是,出于您的目的,您不需要这样做。您不必写入附加到 FBO 的所有图像。你control what images get written to 和glDrawBuffers
。如果您需要写入多个缓冲区但只与某些缓冲区混合,您甚至可以selectively enable and disable blending to certain draw buffers。
所以是的,你可以,但你不应该打扰。只需切换绘图缓冲区,除非您需要新的深度缓冲区或其他东西。
【讨论】:
如果我想从绑定到我正在写入的同一个 FBO 的纹理中读取怎么办?假设我的 FBO 与 TextureA 和 TextureB 绑定在一起。我想在 TextureA 上混合 TextureB。如果我只是将 glDrawBuffers 更改为仅在 TextureA 上渲染就可以了吗?换句话说,当我在绑定了这种纹理的 FBO 上写入时,如果我不写入该特定纹理,我可以从纹理中读取吗? @darius:这是一个全新的问题。因此,请使用“提问”按钮来提问。或者只是look up the answer on the OpenGL Wiki。以上是关于纹理可以绑定到多个 fbo 吗?的主要内容,如果未能解决你的问题,请参考以下文章