qopenglwidget实现qimage图片动态显示(视频),硬件加速对比

所谓opengl画图,其实就是把图片当成纹理,然后渲染成2d纹理。

搜遍全网,基本都是贴一个qimage就完了,没人搞动态的,他们都不肖于用opengl播放视频的吗?


代码来自csdn一个兄弟,具体忘了哪里了。后来经过我改良成了现在这样子,主要有3个功能:

1、支持paintGl()调用显示

2、支持qopenglwidget->panitEvent()调用显示

3、支持普通qwidget->paintEvent()调用显示

打开QtOpenGLWidget.pro,配置变量如下:


变量    USE_OPENGL                USE_WIDGET_PAINT_WITHOUT_OPENGL   含义

数据         1                                                x                   只使用paintGl()进行绘图

                0                                                0                  使用qopenglwidget->panitEvent()进行绘图

                0                                                1                  使用qwidget->panitEvent()进行绘图


具体大家可以跑一跑试试,不过我看任务管理器GPU占用率居然是一样的,无语了。

记得把images目录拷贝到exe同目录下。


QtOpenGLWidget.rar


这里再给2个例子用opengl贴图的,2_ZoomingTexture还可以按下空格然后用鼠标移动来放大看图:

QOpenGLWindow_Examples-master.zip


分享一些很不错的学习链接:


基于QT的OpenGL教程学习 :https://my.oschina.net/u/2009228?tab=newest&catalogId=6479630

QtOpenGL入门教程: https://www.bilibili.com/read/cv10552786/

OpenGL + Qt: 1 - 用下拉框选颜色: https://zhuanlan.zhihu.com/p/97608277

图形学及opengl 开发记录: https://blog.csdn.net/u012278016/category_7015764.html

基于Qt的OpenGL学习: https://longxuan.ren/categories/Qt/


本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2022 labisart.com 版权所有 | 联系:labartwork@163.com