我找到了一些通过OpenGL ES 3.0加速glReadPixels的方法,但我不确定它是否有效。
为了验证,我更新了最新的Android SDK和ADT,并尝试使用OpenGL ES 3.0。但是,我找不到我预期的GL_BGRA
定义,而且我不知道如何使用glMapBuffer()
。我错过了什么吗?
总结一下,
如果有人知道,请指出我。一些代码片段会更好。 提前谢谢。
答案 0 :(得分:0)
不是真的。我不知道你是否会通过使用BGRA格式获得性能提升,但值得一试。在ES 2.0中,GL_BGRA只能通过扩展名EXT_read_format_bgra使用,因此您需要使用枚举GL_BGRA_EXT,显然在OpenGL ES 3.0中也是如此。
是的,glMapBufferRange是继续使用OpenGL ES 3.0的方法。根据您的评论,看起来您的通话是正确的。根据{{3}}和spec,glMapBufferRange不应该生成GL_INVALID_ENUM错误,因此我认为其他错误在这里。确保先前的调用不会生成错误。