我正在尝试使用 OpenGL ES 2.0 在 iPhone 上实现后处理(模糊、绽放等)。我遇到了一些问题。在我的第二个渲染步骤中进行渲染时,我最终在屏幕上绘制了一个完全黑色的四边形而不是场景(看起来纹理数据丢失了)所以我想知道原因是否是使用单个 FBO。以下列方式使用单个 FBO 是否不正确?
对于第一遍(常规场景渲染),
- 我将纹理附加为 COLOR_ATTACHMENT_0 并渲染到纹理。 glFramebufferTexture2D(GL_FRAMEBUFFER,GL_COLOR_ATTACHMENT0,GL_TEXTURE_2D,纹理缓冲区,0)
对于第二遍(后处理),
- 我将颜色渲染缓冲区附加到 COLOR_ATTACHMENT_0 glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer)
- 然后使用第一遍的纹理在屏幕上渲染为四边形。