我在Android中使用OpenGL ES来渲染某些图像。一旦我渲染帧,我想要复制它。虽然我可以使用FBO,但只有某些设备支持FBO。对于其他设备,我将不得不使用消耗更多时间的glReadPixels。由于glReadPixels只能复制后缓冲区中的数据,因此只有在获取影响渲染响应时间的副本后才能交换缓冲区。
有没有办法从前缓冲区复制数据。因此,我可以在处理结束后立即将图像渲染到屏幕,然后从前缓冲区获取副本。
编辑:在某些设备中,只要缓冲区与前缓冲区交换,后台缓冲区就会被清除。在某些其他设备中,它不会被清除。即使将图像交换到前缓冲区(而不是将其复制到前缓冲区),我宁愿将图像保留在后备缓冲区中。有没有办法强迫gl在交换后不要清除后备缓冲区?
答案 0 :(得分:1)
使用
glReadBuffer(GL_FRONT);