Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
GlCopyTexImage2D() results in black image on iOS but works on Desktop
k.gaitanis last edited by
my application has the same configuration as the "OpenGL Under QML" example (http://qt-project.org/doc/qt-5.0/qtquick/scenegraph-openglunderqml.html).
So i'm drawing raw openGL under QML components. After calling all my openGL commands on the default framebuffer (I do not use framebuffers at all, I rely on the QuickWindow for that and simply draw directly on the currently bound framebuffer) I want to use glCopyTexImage2D() to grab the contents of the default framebuffer and store them in a texture. All of this is done on the QSGRenderingThread ofcourse.
This works great on desktop but on iOS it results in a black image. Are the openGL contents stored in a different framebuffer on iOS? How can I retrieve only my OpenGL content from the frameBuffer on iOS?
Since blit operations are not available on OpenGL/ES, is there a way to capture the default framebuffer contents and store them in a texture or do I have to render on a separate framebuffer instead? I'd like to avoid rendering on a separate framebuffer for performance reasons.