我使用glReadPixels读取FBO到内存的像素。
以下是代码:
UINT8* data;
glBindFramebuffer(GL_FRAMEBUFFER, FBOID);
glReadPixels(0, 0, w, h, GL_RGB, GL_UNSIGNED_BYTE, data);
我发现这个操作非常慢......在openGL ES2.0(Android)中有没有其他选择?
答案 0 :(得分:4)
是的,它很慢。 OpenGL ES 2.0无法在Android上提供更快捷的方式。你可以在OpenGL ES 3.0上使用PBO,但这对你来说可能不是一个选择,因为目前很少有设备支持它,它需要Android 4.3。
编辑:我知道有些设备存在严重的性能问题上传 RGB纹理,也许它也会发生在相反的方向。请尝试使用RGBA格式。