OpenGL ES 2.0を使用してiPhoneに後処理(ぼかし、ブルームなど)を実装しようとしています。私はいくつかの問題に直面しています。2番目のレンダリングステップでレンダリングすると、シーンではなく完全に黒いクワッドを画面に描画することになります(テクスチャデータが欠落しているように見えます)。そのため、原因が単一のFBOを使用しているのではないかと思います。次のように単一のFBOを使用するのは正しくありませんか?
最初のパス(通常のシーンレンダリング)の場合、
- テクスチャをCOLOR_ATTACHMENT_0としてアタッチし、テクスチャにレンダリングします。 glFramebufferTexture2D(GL_FRAMEBUFFER、GL_COLOR_ATTACHMENT0、GL_TEXTURE_2D、texturebuffer、0)
2回目のパス(後処理)では、
- カラーレンダーバッファをCOLOR_ATTACHMENT_0にアタッチします glFramebufferRenderbuffer(GL_FRAMEBUFFER、GL_COLOR_ATTACHMENT0、GL_RENDERBUFFER、colorRenderbuffer)
- 次に、最初のパスのテクスチャを使用して、画面上でクワッドとしてレンダリングします。