2014-02-17 6 views
0

OpenGL ES에서 FBO에서 glReadPixelsglDrawArrays을 차례로 여러 번 호출 할 수 있습니까? 내가 직면 한 문제는 이미지가 모두 왜곡되어 있다는 것입니다.OpenGL ES에서 FBO에서 다중 glReadPixels & glDrawArrays 호출하기

샘플 코드 : eglSwapBuffers에

// Activate Off-Screen FBO 
glBindFramebuffer(GL_FRAMEBUFFER, fboHandle); 
glActiveTexture(GL_TEXTURE1); 
glBindTexture(GL_TEXTURE_2D, textureHandle); 
glViewport(0, 0, 640, 480); 

// 1st Render 
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); 
glClear(GL_COLOR_BUFFER_BIT); 
glUseProgram(filter_A); 
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 640, 480, 0, GL_RGBA, GL_UNSIGNED_BYTE, rgb_pixels_A); 
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); 
glReadPixels(0, 0, 640, 480, GL_RGBA, GL_UNSIGNED_BYTE, pixels_A); 

// 2st Render 
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); 
glClear(GL_COLOR_BUFFER_BIT); 
glUseProgram(filter_B); 
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 640, 480, 0, GL_RGBA, GL_UNSIGNED_BYTE, rgb_pixels_B); 
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); 
glReadPixels(0, 0, 640, 480, GL_RGBA, GL_UNSIGNED_BYTE, pixels_B); 

// Back to the screen FB 
glBindFramebuffer(GL_FRAMEBUFFER, 0); 
glActiveTexture(GL_TEXTURE0); 

답변