【Qt之OpenGL】01创建OpenGL窗口

1.创建子类继承QOpenGLWidget

2.重写三个虚函数

/** 设置OpenGL的资源和状态,最先调用且调用一次* @brief initializeGL*/
virtual void initializeGL() override;
/** 设置OpenGL视口、投影等,当widget调整大小(或首次显示)时调用* @brief resizeGL* @param w* @param h
*/
virtual void resizeGL(int w, int h) override;
/** 渲染OpenGL窗口,当窗口widget需要更新时调用* @brief paintGL*/
virtual void paintGL() override;void CreateOpenGLWindow::initializeGL()
{//设置清空屏幕的颜色,黑色QOpenGLFunctions *f = context()->functions();f->glClearColor(0.f,0.f,0.f,0.f);
}void CreateOpenGLWindow::resizeGL(int w, int h)
{//设置视口大小,与窗口一样QOpenGLFunctions *f = context()->functions();f->glViewport(0,0,w,h);
}void CreateOpenGLWindow::paintGL()
{// 每次重绘之前清空屏幕颜色和深度缓冲QOpenGLFunctions *f = context()->functions();f->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}

initializeGL:

设置OpenGL的资源和状态,最先调用且调用一次

paintGL:

渲染OpenGL窗口,当窗口widget需要更新时调用。

在paintGL()以外的地方调用绘制函数是没有意义的,因为绘制图像最终将被paintGL()覆盖;

若需要从paintGL()以外的位置触发重新绘制(e.g. 使用计时器设置场景动画),则应调用widget的**update()**函数来安排更新。

resizeGL:

设置OpenGL视口、投影等,当widget调整大小(或首次显示)时调用

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/660327.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业终端安全管理软件有哪些?终端安全管理软件哪个好?

在当今数字化时代,企业终端安全管理软件的重要性日益凸显。随着网络攻击和信息安全风险的不断增加,企业需要采取有效的措施来保护自己的数据和网络资产。终端安全管理软件正是为了满足这一需求而诞生的。那么,市面上都有哪些企业终端安全管理…

公开课—京东生产环境海量数据架构优化实战

文章目录 读多写少——主库用来写,从库用来读单库的写压力太大——数据库的垂直和水平拆分分表怎么分呢?hash分表range分表多数据源操作与分布式事务问题 ShardingSphare分库分表(京东开源)关联查询怎么办?跨多个库&am…

49. 字母异位词分组 128. 最长连续序列

49. 字母异位词分组 128. 最长连续序列 把集合里面的所有元素都放入set容器里面 定义结果最大连续数量 ans for循环遍历每个元素 先判断集合里面有没有比这个元素小1的 如果没有 说明这个元素就是序列的第一个元素 然后接着找集合里面有没有比这个元素大1的 while一直找 …

营业执照办理

2024年4月30日00:00至2024年5月6日8:00对‮统系‬进行维护升级。系统维护升‮期级‬间,将关‮系闭‬统,暂停登‮注记‬册业务线‮申上‬报;4月30日申办登‮业记‬务的,请到属‮登地‬记注册窗口办理。 由此‮来带‬不便&#xf

Linux第二节--常见的指令介绍集合(持续更新中)

点赞关注不迷路!,本节涉及初识Linux第二节,主要为常见的几条指令介绍。 Linux下基本指令 1. ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件&#…

中国移动举办算力网络未来产业暨联合体创新论坛

4月29日,在国务院国有资产监督管理委员会的指导下,由中国移动主办的算力网络未来产业暨联合体创新论坛在苏州举办。大会以“算网一体,智领未来”为主题,旨在汇聚算力网络产学研各界领军力量,共创算力网络技术策源之路&…

《HCIP-openEuler实验指导手册》1.7 Apache虚拟主机配置

知识点 配置步骤 需求 域名访问目录test1.com/home/source/test1test2.com/home/source/test2test3.com/home/source/test3 创建配置文件 touch /etc/httpd/conf.d/vhost.conf vim /etc/httpd/conf.d/vhost.conf文件内容如下 <VirtualHost *.81> ServerName test1.c…

区域能源消耗碳排放空间格局模拟—基于夜间灯光数据

卫星遥感具有客观、连续、稳定、大范围、重复观测的优点&#xff0c;已成为监测全球碳盘查不可或缺的技术手段&#xff0c;卫星遥感也正在成为新一代 、国际认可的全球碳核查方法。本此课程的目的就是梳理碳中和与碳达峰对卫星遥感的现实需求&#xff0c;系统总结遥感技术在生态…

挑战一周完成Vue3项目Day3: 品牌管理+平台属性管理+SPU管理+SKU管理

一、真实接口替换mock接口 &#xff08;1&#xff09;替换各个环境下的服务器地址&#xff08; .env.development、.env.production、.env.test &#xff09; VITE_SERVE"http://sph-api.atguigu.cn" &#xff08;2&#xff09; 配饰代理跨域&#xff1a;vite.con…

javase学习01-GUI设计中的菜单条,菜单及菜单项(简单的实现)

目录 一&#xff0c;效果及代码 二&#xff0c;相关内容 1&#xff0c;创建图片资源文件夹 2&#xff0c;菜单初识 3&#xff0c;图标大小设置 4&#xff0c;菜单高度设置 今天学习了Java的GUI&#xff08;graphics user interface&#xff09;图形用户界面中的窗口和菜单…

VGG16简单部署(使用自己的数据集)

一.注意事项 1.本文主要是引用大佬的文章&#xff08;侵权请联系&#xff0c;马上删除&#xff09;&#xff0c;做的工作为简单补充 二.介绍 ①简介&#xff1a;VGG16是一种卷积神经网络模型&#xff0c;由牛津大学视觉几何组&#xff08;Visual Geometry Group&#xff09;开…

[python] 基于PyWaffle库绘制华夫饼图

华夫饼图Waffle chart是一种独特而直观的图表&#xff0c;用于表示分类数据。它采用网格状排列的等大小方格或矩形&#xff0c;每个方格或矩形分配不同的颜色或阴影来表示不同的类别。这种可视化方法有效地传达了每个类别在整个数据集中的相对比例。本文介绍如何使用基于Python…