我在使用iPhone上的OpenGLES
渲染到紋理和離屏幀緩衝時出現問題。渲染到紋理或離屏幀緩衝
alt text http://j.imagehost.org/0923/IMG_0020.pngalt text http://j.imagehost.org/0725/IMG_0019.png
第一個圖像顯示呈現爲CAEAGLLayer
直接麻將牌,這是正確的。第二個顯示渲染到屏幕外幀緩衝區的圖塊,使用glCopyTexImage2D
複製到紋理,並將紋理渲染到CAEAGLLayer
。兩者都使用白色不透明四邊形作爲背景。我也嘗試直接渲染紋理,但效果與屏幕外幀緩衝區相同。
我創建的framebuffer代碼:
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);
我畫從一個呼叫紋理圖集所有瓷磚glDrawElements
採用VBO傳遞隔行頂點數據(座標,紋理座標,顏色)。我使用RGBA8888紋理格式,使用glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
混合函數在兩個三角形(四邊形)上繪製每個圖像。我不使用深度緩衝區(在所有情況下)。
有人可以告訴我可能是什麼問題?
關於圖像的渲染什麼是不正確的?你期望他們看起來像什麼? – Frogblast 2010-05-04 02:20:52
@Frogblast第一個沒有渲染到屏幕外幀緩衝區或紋理的圖像是正確的。 – sfider 2010-05-04 06:09:14
沒有足夠的代碼顯示。 FBO可能不是問題。 – karx11erx 2011-08-22 13:12:23