我向一些FBO渲染,意图将它们绑定为后来的drawcall中的纹理。据我所知,如果我不打算让FBO中的数据再与下一帧相关,我应该调用glInvalidateFramebuffer。
我的问题是,假设我在glBindFramebuffer之前调用glInvalidateFramebuffer,它将当前FBO解除绑定为渲染目标,我可以使用该FBO多长时间作为渲染调用的输入纹理,直到数据变得无法使用?直到取消绑定glBindFramebuffer?直到下一个使用纹理的drawcall?直到eglSwapBuffers?
就任何后续命令而言,像素立即失效。记住:虽然OpenGL可以异步执行,但它是defined to execute synchronously(除了少数例外)。因此,任何后续命令都将像先前的命令一样完成。