作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
在前面,我们写了几篇文章《libVLC 抓取视频帧并渲染(QWidget)》和《libVLC 抓取视频帧并渲染(QGraphicsView)》,分别介绍了QWidget 和 QGraphicsView 对视频帧的渲染,除了这些方式之外,还有一种最常见的方式:OpenGL,通过使用纹理将视频帧渲染到屏幕上。
为了将 OpenGL 显示集成到 Qt 程序中,我们需要用到一个便利类 - QOpenGLWidget,该类提供了三个虚函数:
-
initializeGL():在 OpenGL 上下文被初始化时调用,通常用于设置 OpenGL 必备的属性和对象,例如:启用深度测试、创建并初始化着色器程序,创建和配置纹理等。
-
resizeGL(int w, int h):在窗口大小更改时被调用,通常用于重新计算视口以及任何与宽度、高度等相关的变量。
-
paintGL()ÿ