当前位置:首页>滚动 > >正文

OpenGL:一些基本概念和第一个程序

  • 2023-06-26 13:57:32来源:QT教程

基本概念

Qt提供了OpenGL模块,在Qt应用程序中使用OpenGL相对比较方便。OpenGL是一种跨平台的3D图形API,可以用于创建各种类型的3D图形应用程序,如游戏、虚拟现实、数据可视化等。在Qt中,可以使用QOpenGLWidget类来创建一个OpenGL窗口,在这个窗口中,可以使用OpenGL API来绘制3D图形。同时,Qt还提供了QOpenGLFunctions类来封装OpenGL的各种函数,使用起来更加方便。除此之外,Qt还提供了QOpenGLVertexArrayObject、QOpenGLBuffer等类来管理OpenGL中的顶点数组和缓冲区对象。使用Qt开发OpenGL应用程序,既可以发挥Qt的强大功能,也可以充分利用OpenGL的性能优势。

1、着色器


(资料图片仅供参考)

GPU由大量的小型可编程处理器(shader core)组成,这些迷你的处理器上运行的迷你程序成为着色器。

2、管线

这是一个形象的说法,把 OpenGL 的模型比作一个生产线。

该模型内的数据流通常是单一路径的,程序发送给 OpenGL 的处理指令形成的数据进管线的开端,然后流经一个个阶段直到管线的末端。

3、基元

OpenGL 中的基本渲染单元。包括点、线、三角形(分别有一、二、三个点)。

我们在屏幕上看到的渲染的所有的东西都是这三种基元的集合。

4、顶点

(三维)坐标空间内的一个点,点、线、三角形分别有一、二、三个顶点。

5、光栅器

用作将三维形式的三角形转成一系列在屏幕渲染的像素的硬件。

6、管线前端的工作

处理顶点和基元,将图形处理后把它们组成的点、线、三角形传递给光栅器。

7、管线后端的工作

光栅器处理之后得到的是像素,管线后端处理这些像素,包括深度参数、模板测试、片段着色、混合、更新输出图像。

第一个 OpenGL 程序

#ifndef OPENGLWIDGET_H#define OPENGLWIDGET_H#include class openglWidget : public QOpenGLWidget{Q_OBJECTpublic:openglWidget(QWidget * parent = nullptr);protected:virtual void paintGL();};#endif // OPENGLWIDGET_H#include \"openglwidget.h\"#include openglWidget::openglWidget(QWidget *parent):QOpenGLWidget(parent){}void openglWidget::paintGL(){static const GLfloat red[] = {1.0f,0.0f,0.0f,1.0f};//RGBAQOpenGLExtraFunctions * funs = QOpenGLContext::currentContext()->extraFunctions();funs->glClearBufferfv(GL_COLOR,0,red);}//领取Qt开发学习资料加Q群:487707667

OpenGL 的函数命名遵循一些约定。所有函数以 gl 开头,本例中,后缀 fv 表示该函数使用一组向量(v)、浮点(f) 值。

glClearBufferfv():清除当前绑定的绘制帧缓冲区的各个缓冲区。

Qt OpenGL是一个基于OpenGL图形库的Qt模块,它提供了一组类和函数,使开发人员能够在Qt应用程序中使用OpenGL渲染3D场景。Qt OpenGL通过将OpenGL与Qt的UI框架集成在一起,为开发人员提供了更多灵活性和可扩展性。

使用Qt OpenGL,开发人员可以轻松地创建具有吸引力和高度交互性的3D应用程序。它还提供了许多方便的功能,如支持纹理映射、光照效果、阴影处理等。此外,Qt OpenGL还可以帮助开发人员解决跨平台问题,因为它可以在多个操作系统上运行,并且与其他平台无关的代码保持兼容。

【领 QT开发教程 学习资料, 点击下方链接莬费领取↓↓ ,先码住不迷路~】

点击这里:

标签:

延伸阅读

推荐阅读

OpenGL:一些基本概念和第一个程序

基本概念Qt提供了OpenGL模块,在Qt应用程序中使用OpenGL相对比较方便。

国足队长爆料:扬科维奇执教纪律性超前任,全队迟到不超2次!|精选

中国男足在此前的热身赛中取得2连胜,分别击败了缅甸和巴勒斯坦,而在

通用电梯(300931):股价5分钟涨速大于5%(06-26)

受短期资金关注,股价快速拉升,5分钟内上涨大于5%以上;资金流向数据

卖奖牌,也拉不动Keep了 全球今亮点

斑马消费任建新通过港交所聆讯上市在即,Keep却高兴不起来。特殊三年造

曲靖经开区刷新道路建设“加速度” 今日聚焦

掌上曲靖讯   近日,曲靖经开区南海科技城湖滨北路道路新建工程全面

日本排核废水入海 台湾宜兰县苏澳渔民怒轰:必污染海洋 每日速看

日本预计最快今夏开始排放福岛核事故废水,台湾宜兰县苏澳镇渔民怒批,

环球通讯!浓情端午,光祈幼儿园萌娃“趣享”传统

为了弘扬传统文化,让幼儿更直观地了解端午节,感受端午节丰富的文化内

中央财经大学排名全国第几名_中央财经大学排名

1、关于高校,教育部没有做任何官方排名。2、根据中国校友会发布的最新

用工不“荒”,CRX协作机器人让人机“双向奔赴”

随着人口红利逐渐消失,制造业人才供给存在较大缺口,面临着质量和数量

今天,通州区疾病预防控制局挂牌成立

今天(6月25日)上午北京市通州区疾病预防控制局挂牌成立!通州区疾病

天津夏季达沃斯论坛来啦!志愿有我,整装待发!

天津夏季达沃斯论坛来啦!志愿有我,整装待发!

每日热讯!上环对身体有伤害没有_上环对身体有伤害

1、上环好像容易得一些妇科病。2、一般来说,妇女上环后常见的副作用主

黑龙江项目部到大唐绥化热电有限公司 开展项目经理现场服务 焦点

为全面贯彻落实“采购管理提升年”各项部署,进一步提高采购效率和采购

孔子过泰山侧全文翻译简短_孔子过泰山侧全文翻译|焦点快看

1、孔子过泰山侧原文①:孔子过泰山侧,有妇人哭于墓者而哀。2、夫子式

端午假期—— 国内旅游出游1.06亿人次

端午假期——国内旅游出游1 06亿人次,旅游,文旅,民俗,旅游线,旅游部

冰激凌加盟店要多少钱(冰激凌加盟店) 当前视点

1、冰激凌加盟店最好的是DF。2、光投资加盟需要几十万!DF产的冰激凌是

公共 | 山东印发通知全面加强高温天气劳动保护 要求严格落实高温待遇和防暑降温措施

近日,山东省人力资源和社会保障厅印发《关于切实加强高温天气劳动保护

华友钴业:拟12.78亿欧元在匈牙利投建高镍型动力电池用三元正极项目_当前聚焦

华友钴业:拟12 78亿欧元在匈牙利投建高镍型动力电池用三元正极项目6月

天天看点:台湾竞争力论坛学会执行长:两岸加强交流合作大势所趋

谢明辉展示其所著的诗文集《诗韵中华》。 廖珍妹 摄“两岸血浓于水,

湖南中考统一命题,影响几何

近日,湖南各地一年一度的中考相继结束。展望明年,全省中考统一命题成

“老师的讲解很实用 线上线下都精彩”

“老师的讲解很实用”“线上线下都很精彩”……这是现场家长和考生的评

四川拍到金猫“干饭”,先吸斑羚脊髓再吃肉,埋藏剩肉遭黑熊盗走

近日,在四川平武关坝片区一处红外相机,意外记录到一只神秘的金猫“干

世界最资讯丨被性侵,被家暴,被封杀,37岁童瑶更多“丑闻”曝光:张国立坐不住了!

文丨明月  来源:LADY逛逛童瑶这是怎么了?前几天,在时尚芭莎派对上

全球要闻:柳塘社区志愿服务队_关于柳塘社区志愿服务队概略

1、柳塘社区志愿服务队是由沈河区民政局登记的志愿团体,成立于2020年6

世界观速讯丨此程序无法显示网页是怎么回事_此程序无法显示网页

1、网页打不开,某些页面及软件显示异常一般是由于如下几点原因导致的

AGM推出PAD P1三防平板:联发科Helio G99 7000mAh电池

AGM现在推出了PADP1三防平板,搭载联发科HelioG99处理器,售价为199美

焦点快报!保福满屋是什么保险 保福满屋保险介绍

中国人保相信大多数人都比较熟悉,它是我国规模较大的保险公司,实力雄

天基权半导体激光治疗仪是真的吗_天基权半导体激光治疗仪

深圳天基泉健康科技集团有限公司成立于2001年,总部位于深圳福田国际创

金融监管加码,一天75张罚单!兴业、广发被罚,招商银行涉房贷款违规频发

本文来源:时代周报作者:特约记者陆晶琳金融严监管势头不减。国家金融

多地持续高温 专家提示科学预防重点人群中暑

新华社北京6月24日电(记者李恒)近期,全国多地连续发布高温预警,部

猜您喜欢

Copyright ©  2015-2022 华南服装网版权所有  备案号:粤ICP备18025786号-52   联系邮箱: 954 29 18 82 @qq.com