捕获OpenGL中渲染的内容

时间:2015-07-24 06:04:01

标签: android opengl-es

我用OpenGl ES制作一款安卓游戏,我希望通过FloatBuffer捕捉渲染到屏幕上的内容并将其保存供以后使用,例如如果这是OutPut:

enter image description here

我想将此作为结果(作为PNG图像):

enter image description here

我该怎么做?

1 个答案:

答案 0 :(得分:2)

屏幕上的内容不是浮点缓冲区 - 它通常是每像素RGBA8 32位。

通过glReadPixels捕获以获取原始RGBA数据 - 您必须提供原始到PNG保存功能,这不是OpenGL ES本身的一部分。

请注意,这是一项相对昂贵的操作,尤其是在高屏幕分辨率下,因此不要期望以交互式帧速率执行此操作。