繁体   English   中英

OpenGL ES 3.0为Android中的glReadPixels带来性能提升

[英]Performance boost for glReadPixels in Android by OpenGL ES 3.0

我找到了一些方法来加速OpenGL ES 3.0的glReadPixels,但我不确定它是否有效。

  1. glReadPixels()的第五个参数指定为GL_BGRA,以避免不必要的混乱。
  2. 使用PBO作为提及。

为了验证,我更新到最新的Android SDK和ADT,并尝试使用OpenGL ES 3.0。 但是,我找不到我预期的GL_BGRA定义,我不知道如何使用glMapBuffer() 我错过了什么吗?

总结一下,

  • 有没有比使用glReadPixels()更快的方式来访问framebuffer?
  • 如何在Android上使用OpenGL ES 3.0的GL_BGRA和PBO?

如果有人知道,请指出我。 一些代码片段会更好。 提前致谢。

  1. 并不是的。 我不知道你是否会通过使用BGRA格式获得性能提升,但值得一试。 在ES 2.0中,GL_BGRA只能通过扩展名EXT_read_format_bgra使用 ,因此您需要使用枚举GL_BGRA_EXT,显然它在OpenGL ES 3.0中也是如此。

  2. 是的,glMapBufferRange是继续使用OpenGL ES 3.0的方法。 根据您的评论,看起来您的通话是正确的。 根据规范手册页 ,glMapBufferRange不应该生成GL_INVALID_ENUM错误,所以我认为其他错误在这里。 确保先前的调用不会生成错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM