Ich habe ein Problem mit dem Rendering auf Textur und Offscreen Framebuffer mit OpenGLES
auf dem iPhone.Rendern Textur oder Offscreen Framebuffer
alt text http://j.imagehost.org/0923/IMG_0020.pngalt text http://j.imagehost.org/0725/IMG_0019.png
Erstes Bild zeigt Mahjong Fliesen zu erbringenden CAEAGLLayer
direkt, und das ist richtig. Der zweite zeigt Kacheln, die zum Offscreen-Framebuffer gerendert wurden, und wurde mit glCopyTexImage2D
und der Textur, die auf CAEAGLLayer
gerendert wurde, in die Textur kopiert. Beide verwenden weiße undurchsichtige Quadrate für den Hintergrund. Ich habe auch versucht, direkt auf Textur zu rendern, aber der Effekt war der selbe wie bei Offscreen Framebuffer.
My Code für die Erstellung von Bildpuffer:
GLuint framebuffer;
glGenFramebuffersOES(1, &framebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);
GLuint renderbuffer;
glGenRenderbuffersOES(1, &renderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, renderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_RGB8_OES,
512, 512);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES,
GL_RENDERBUFFER_OES, renderbuffer);
zeichne ich alle Fliesen aus einer Textur Atlas mit einem Aufruf an glDrawElements
VBO Verwendung für interlaced Vertexdaten Passing (Koordinaten, Strukturkoordinate, Farbe). Ich verwende RGBA8888 Textur-Format, Zeichnen jedes Bild auf zwei Dreiecke (Quad) mit glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
Blending-Funktion. Ich verwende keinen Tiefenpuffer (in allen Fällen).
Kann mir jemand sagen, was könnte das Problem sein?
hilft Was ist falsch über die gerenderten Bilder? Wie erwarten Sie, dass sie aussehen? – Frogblast
@Frogblast Die erste, die nicht auf Framebuffer oder Textur des Offscreen gerendert wird, ist korrekt. – sfider
Nicht genug Code angezeigt. Die FBOs sind wahrscheinlich nicht das Problem. – karx11erx