glReadPixel 读取数据错误问题

glReadPixel 读取数据错误问题

问题:在Android上使用 glReadPixel 读取当前渲染数据,在若干机型(华为P9以及魅族某魅蓝手机)上读取数据失败,glGetError() 没有抓到错误,但是获取到的数据有误,如果将获取到的数据保存成为图片,得到的图片为黑色。

面对这个问题束手无策,检查不出任何glError,而且在主流手机上表现正常,查了一下glReadPixel的通常用法,发现他们在 glDrawArrays() 之后调用。我这边的用法,在Android平台,为了提高效率,节省资源,我使用的是 RENDERMODE_WHEN_DIRTY 的渲染模式,所以绘制了一遍以后就没有再继续。猜测可能是这个问题,在glReadPixel之前加上绘制的代码,bug 竟然不再出现,成功读取到数据。

然而对于这个问题的本质还是不是很了解,向大神请教,得到答案是这样的:

得在eglSwap前读取
如果你是多通滤波,得在改frameBuffer前读取

转载于:https://www.cnblogs.com/psklf/p/7481602.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值