我找到了一些加速OpenGL ES 3.0中glReadPixels的方法,但我不确定它是否有效。
- 将glReadPixels()的第五个参数指定为GL_BGRA,以避免不必要的交换。
- 使用PBO如这里所述。
为了验证,我升级到了最新的Android SDK和ADT,并尝试使用OpenGL ES 3.0。然而,我无法找到我期望的GL_BGRA
定义,也不知道如何使用glMapBuffer()
。我错过了什么吗?
总结一下,
- 有没有比使用glReadPixels()更快的访问帧缓冲区的方法?
- 如何在Android上使用OpenGL ES 3.0的GL_BGRA和PBO?
如果有人知道,请指出来。一些代码片段会更好。提前感谢。
GLES30.glMapBufferRange(GLES30.GL_PIXEL_PACK_BUFFER, 0, size, GLES30.GL_MAP_READ_BIT);
但是,使用GLES20.glGetError()检测到返回了GL_INVALID_ENUM,有没有人知道怎么解决?谢谢。 - Justin