Qt下如何用OpenGL的共享列表wglShareLists函数
来源:互联网 发布:上海爱知锻造公司简介 编辑:程序博客网 时间:2024/05/16 10:06
最近用Qt做东西,要用到共享列表。
大影像数据的贴屏程序。主线程负责把贴图往屏幕上贴,子线程负责准备贴图数据,这就需要共享列表。
qt有封装好的类QGLWidget
TestForCom::TestForCom(QWidget *parent, Qt::WFlags flags): QMainWindow(parent, flags){// ComGLWidget继承自QGLWidget, TestForCom继承自QMainWindow;m_glWidget = new ComGLWidget(QGLFormat(QGL::StereoBuffers), this, NULL);//创建一个QGLPixelBuffer,并且与m_glWidget共享列表,大小可以随意给。g_pQGLPixelBuffer = new QGLPixelBuffer(256, 256, QGLFormat(QGL::StereoBuffers), m_glWidget);setCentralWidget(m_glWidget);}
这样创建出的m_glWidget和g_pQGLPixelBuffer是共享列表的。
只需要在m_glWidget的类的paintGL()函数加上一句makeCurrent(),然后在子线程的run函数里加上一句g_pQGLPixelBuffer->makeCurrent()
这样在线程里用glTexImage2D更新装载数据,主线程只负责贴图。glTexImage2D是比较耗时的,因为是把数据从内存写到显存。
主线程的贴图是显存到显存。
- Qt下如何用OpenGL的共享列表wglShareLists函数
- 关于wglShareLists函数
- 如何用dos命令快速获得文件夹下的文件名列表
- qt如何用指定程序打开当前路径下的文件
- 教你如何用CodeBlocks+MinGW+Qt在windows下的安装及环境配置
- 教你如何用CodeBlocks+MinGW+Qt在windows下的安装及环境配置
- C语言如何用OpenGL
- C语言如何用OpenGL
- ROS下如何用QT打开终端并执行roslaunch
- 关于如何用OpenGL塑造中空的立体图的策略
- 如何用VirtualBox 共享文件夹
- 如何用python实现剔除列表中相同的元素
- 如何用JS 获取本地文件夹的文件列表
- 教你如何用Qt做透明的窗体
- 如何用QT实现txt文件的读写
- 如何用Qt Designer快速设计产品的高保真原型
- 在windows下如何用cscope实现函数定位
- Qt下的OpenGL 编程(7)顶点数组和显示列表
- Linux消息队列之命令行相关
- sql语句技巧集锦
- postgreSQL 启动不了
- linux 学习 vi简介; vi下三种工作方式。
- QPushButton 之 default、autoDefault 分析
- Qt下如何用OpenGL的共享列表wglShareLists函数
- Linux 内核中的 Device Mapper 机制
- C++编程思想学习—函数重载与默认函数
- Android中添加自定义按键 ---- 非标准做法
- 开源代码网站集锦
- Qt 全局热键 QxtGlobalShortcut 分析与使用举例
- my books
- 线段树学习(一)
- SQL server 中默认数据库和默认表的作用