如何从我的EAGLLayer中获取图像?

时间:2008-11-24 14:21:05

标签: iphone opengl-es eaglview

我正在寻找获取opengl内容的方法(如UIImage),然后将其保存到文件中。我现在正在试试glReadPixels,虽然我不确定我做的是什么样的malloc我应该做的正确的事情。我在OSX上收集的是它的GL_BGRA,但在iPhone上却无效......

3 个答案:

答案 0 :(得分:2)

所有OpenGL | ES complient GL实现都必须支持GL_RGBA作为glReadPixels的参数。

如果您的OpenGL | Es支持

GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 

扩展您还可以查询本机格式。 glReadPixels会将此格式理解为glReadPixels的参数,并允许您直接获取原始格式的像素数据。这通常比GL_RGBA快一点。

查看头文件或通过glGetString查询扩展支持。

答案 1 :(得分:1)

答案 2 :(得分:1)

查看“技术Q& A QA1704 OpenGL ES视图快照”,其中Apple提供了一个有用的示例,其中包括Nils“更好的方式”来解除图像。它会将您带到您的UIImage,并从那里跟随Nils获取保存为文件的方法。