在屏幕上渲染QML并同时在屏幕外保存视频(OpenGL ES 2.0)

时间:2017-08-02 13:39:05

标签: qt qml opengl-es-2.0 screenshot video-capture

我正在尝试实现30 fps的屏幕录制(QML场景),同时也为我的显示器渲染相同的QML场景。到目前为止,我已经跟随(http://blog.qt.io/blog/2017/02/21/making-movies-qml/)并且已经能够通过使用两个QML引擎实现屏幕和屏幕外渲染。问题是,调用glReadPixelsQOpenGLFramebufferObject->toImage)的任何保存方法都会阻止屏幕渲染。

我已经学会了解决这个问题的方法是使用像素缓冲区对象(pbo)来实现异步传输;我在我的桌面平台上实现了这一点,但我需要一个具有OpenGL ES 2.0和QT 5.7.1的嵌入式平台的解决方案。

有没有其他方法可以使用帧缓冲对象或纹理来实现这个目标?有没有办法在GPU内存空间中复制纹理/颜色附件并将图像以块的形式传回?

谢谢,

0 个答案:

没有答案