Ich versuche Post-Processing (Blur, Bloom, etc.) auf dem iPhone mit OpenGL ES 2.0 zu implementieren. Ich stoße auf einige Probleme. Beim Rendern während meines zweiten Rendering-Schritts zeichne ich einen komplett schwarzen Quad auf den Bildschirm statt der Szene (es scheint, dass die Texturdaten fehlen), also frage ich mich, ob die Ursache ein einzelner FBO ist. Ist es falsch, einen einzigen FBO auf die folgende Weise zu verwenden?iPhone Post-Processing mit einem einzigen FBO mit OpenGL ES 2.0?
Für den ersten Durchgang (regelmäßiger Szene-Rendering),
- Ich lege eine Textur wie COLOR_ATTACHMENT_0 und auf eine Textur machen. glFramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texturebuffer, 0)
Für den zweiten Durchgang (post-processing),
- lege ich die Farbe renderbuffer zu COLOR_ATTACHMENT_0 glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 , GL_RENDERBUFFER, colorRenderbuffer)
- Verwenden Sie dann die Textur aus dem ersten Durchlauf zum Rendern als Quad auf dem Bildschirm.
Danke für Ihre Antwort. Gibt es eine Ressource, auf die Sie mich hinweisen könnten, die eine solche Verwendung bestätigen würde? (Nicht, dass ich dir nicht glaube, aber es wäre wahrscheinlich eine ausgezeichnete Referenz.) Auch habe ich bereits den MIN/MAG-Filter eingestellt, also muss es etwas anderes sein. Gibt es noch andere typische Fallstricke? – Jing
Wie unten erwähnt, war das Problem ähnlich .. meine Textur wurde nicht auf eine Stärke von 2 Größe. Ihre Antwort hat mich an der richtigen Stelle suchen, danke. – Jing