我的应用程序(QT / OpenGL)需要以25fps的速度上传来自IP camaras的一堆视频,然后应用它进行处理:
我尝试了解PBO和FBO的利弊,并想象一下我想在您的帮助下验证以下架构:
对于上传帧到GPU 进程,我猜最好的方法是为每个视频使用PBO(可能是两个PBOS),以异步方式加载帧。
对于 Apply-Filter-info-GPU ,我想使用FBO,这似乎是渲染到纹理的最佳选择。我将首先绑定由PBO上传的纹理,然后渲染到另一个纹理,即过滤后的图像。我不确定只使用一个FBO并根据视频上传更改绑定纹理输入和绑定纹理目标,或者使用尽可能多的FBOS,作为要上传的视频。
最后,为了将结果显示到窗口小部件中,我使用FBO渲染的最终纹理。为了写入电影文件,我使用PBO将像素从GPU异步复制回CPU。
看起来是否正确?