来自 OpenGL ES 帧缓冲区 (iOS) 的 CGImageRef

Posted

技术标签:

【中文标题】来自 OpenGL ES 帧缓冲区 (iOS) 的 CGImageRef【英文标题】:CGImageRef from OpenGL ES framebuffer (iOS) 【发布时间】:2011-09-09 22:19:50 【问题描述】:

如何使用 glReadPixels 从 EAGLView 的帧缓冲区内容有效创建 CGImageRef?也许我可以“直接渲染到纹理”?

我对 OpenGL ES 比较陌生,因此非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

glReadPixels 函数非常昂贵...如果您想渲染到纹理,可以查看:

iPhone post-processing with a single FBO with Opengl ES 2.0? Rendering to texture on ios OpenGL ES—works on simulator, but not on device Writing to then reading from an offscreen FBO on iPhone; works on simulator but not on device?(答案在问题的末尾...) http://developer.apple.com/library/ios/#qa/qa1704/_index.html http://www.visualnewt.com/OpenGL/learning_iphones_opengl_es/ http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexImage2D.xml

有关 iOS 上 OpenGL ES 的参考,请参阅http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Glossary/Glossary.html

【讨论】:

以上是关于来自 OpenGL ES 帧缓冲区 (iOS) 的 CGImageRef的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中制作 OpenGL ES 帧缓冲区的副本?

OpenGL ES 2.x:如何在 glDiscardFramebufferEXT 之后读取像素?

iOS OpenGL ES 逻辑缓冲区加载

缩放 OpenGL ES 帧缓冲区的内容

OpenGL ES 2.0 Framebuffer 渲染到纹理 iOS:没有显示

OpenGL ES 直接到控制台帧缓冲区