I am trying to record on the screen at 30 frames per second (QML scenes), and also show the same QML scene on my display. So far I have been following ( http://blog.qt.io/blog/2017/02/21/making-movies-qml/ ) and was able to achieve on-screen and off-screen rendering using two QML engines. The problem is that any save method with calls glReadPixels( QOpenGLFramebufferObject->toImage) blocks the display on the screen.
I learned how to get around this in order to use pixel buffer objects (pbo) to achieve asynchronous transfers; I achieved this on my desktop platform, but I need a solution for my embedded platform with OpenGL ES 2.0 and QT 5.7.1.
Is there any other way to use frame buffer objects or textures to achieve this? Is there a way to copy a texture / color paste into the GPU memory space and transfer the image to pieces?
Thank,
source
share