如何将从opengl处理的数据从GPU读回主机内存

时间:2017-07-14 14:06:28

标签: opengl-es yuv rgba

我想将yuv420图像转换为rgb888图像。我得到了以下链接。 http://www.fourcc.org/source/YUV420P-OpenGL-GLSLang.c

这个程序对我来说很好。 现在我想将我处理过的rgb数据从GPU读回主机内存。我试图做glGetTexImage,但它只给我最后一个绑定的纹理数据。

任何人都可以告诉我如何将处理后的RGB数据从GPU读回主机内存?

我还有另一个问题,如果我能成功将我的数据从GPU读回主机存储器那么它将是RGB还是RGBA?

1 个答案:

答案 0 :(得分:0)

使用glReadPixels命令。语法为`glReadPixels(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLvoid * data)

xy指定要从thr framebuffer中读取的矩形左下角的位置,format接受GL_ALPHAGL_RGBGL_RGBAtype是像素数据的类型,data是指向返回数据数组的指针。 format指定数据是RGB,RGBA还是alpha。

您可以在Khronos specification page获取更多信息。

相关问题