QT5.7中的opengl使用方法

本文目的是记录一下自己搜索相关机制的结果

qt5.7实现opengl机制主要包含两类

一种是提供QtGui实现,这个库主要是通过QWindow结合qt封装的opengl库进行实现,官方有案例,一个旋转的三角形,使用opengl es2.0,而且这也是qml的底层实现方式。另一种是通过QWidget中的qopenglwidget类实现的,这里保留了早期的qopengl方法,即对应于opengl2.0版本的封装,也保留了新的方法,在opengl2.0版本之后,传统固定管线被舍弃,从opengl3.0 开始,使用的主流方法都是可编程管线,即对应于着色器的编程,实现更灵活,同时增加了一定的学习曲线。

qt5.7 的opengl功能

QOpenGLFunctions 里面包含opengl es2.0的内容,同时他也提供了opengl es3.0的API,对opengl的支持也到最新的4.3版本,可以从QtGui类库中看到,根据实际需求使用opengl的不同版本。需要说明的是qt只是针对opengl函数进行了封装,对本身的性能并没有太大影响,还是由版本和具体实现决定。

qt使用opengl例子

1 直接使用opengl窗口,这里使用可以参考官方三角形demo,需要自己写顶点着色器和片段着色器,下面时官方使用的一个例子,可以看到是通过继承opengl函数的方式覆写绘图函数进行使用的。

#include <QtGui/QWind
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值