所谓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同目录下。
这里再给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/
一篇通俗易懂的讲解OpenGL ES (GLSL) 的文章: https://blog.csdn.net/qq_31518167/article/details/51982781
OpenGL ES零基础入门----(4)矩形的绘制: https://www.jianshu.com/p/10f8febb40a8
现代OpenGL+Qt学习笔记: https://blog.csdn.net/chaojiwudixiaofeixia/category_5902875.html
中文版学习OpenGL:https://learnopengl-cn.github.io/