1

我正在使用 OpenGL 实时进行一些视频处理。

我通过 FBO+RBO 和着色器对纹理进行渲染,以便对视频帧进行简单处理。然后我使用该纹理渲染(不是 blit)到默认帧缓冲区。

我的一些视频处理需要精确到帧。如果我逐帧浏览视频,一切看起来都很好;当我以视频速率播放它时,它会不同步。

我认为由于缓冲/其他问题,我从 FBO+RBO 中得到的纹理不是基于我输入的纹理。

这似乎是一个相关的问题,但还没有答案:使用 FBO+RBO 和 glFinish() 进行双缓冲

在我的情况下,我使用 Qt QGLWidget 和 QGL::DoubleBuffer 格式选项。

我需要刷新FBO的输出;或者,如果我能确定 FBO 中出现了哪个帧纹理,我可以补偿同步问题。

4

0 回答 0