QT中使用OpenGL function

1.前言

QT做界面编程很方便,QT+OpenGL的使用也很方便,因为QT对原生的OpenGL API进行了面向对象化的封装。

如:

cpp 复制代码
函数:initializeOpenGLFunctions()......
类:QOpenGLVertexArrayObject、QOpenGLBuffer、QOpenGLShaderProgram......
数学工具类:QVector3D、QMatrix4x4......

有些时候我们需要使用原生的OpenGL API,这在QT中也很方便,该怎么做呢?

2.内容

如果想在QT中使用原生的OpenGL API,如**glReadPixels** 、glShaderSource,需要参考QT官方文档说明:

QOpenGLFunctions Class | Qt GUI 6.8.1

继承类QOpenGLExtraFunctions,然后就可以使用上述原生API了,常用的用法是这样的,

cpp 复制代码
#include <QOpenGLWidget>
#include <QOpenGLFunctions_4_5_Core>
#include <QOpenGLShaderProgram>
#include <QOpenGLVertexArrayObject>
#include <QOpenGLBuffer>

//#include <AIS_InteractiveContext.hxx>

class QMenu;
class QRubberBand;

//! Adapted a QWidget for OpenCASCADE viewer.
class OccView : public QOpenGLWidget, QOpenGLFunctions_4_5_Core
{
   // implementation here

}
相关推荐
不午休の野猫2 小时前
vs + qt环境编译.sln项目时报无法解析的外部符号metaObject && qt_metacast
开发语言·qt
潇湘散客7 小时前
CAX软件插件化设计实现牛刀小试
c++·算法·图形学·opengl
牵牛老人8 小时前
CAN通讯实战:Qt基于周立功 USBCAN 的 CAN 总线通信开发全攻略
网络·qt·系统架构
_君莫笑9 小时前
Qt+Qml前后端分离上位机软件技术方案
c++·qt·用户界面·qml
想取一个与众不同的名字好难10 小时前
QT webSocket接收客户端发送的双目摄像头数据并显示
开发语言·qt·websocket
基德爆肝c语言10 小时前
Qt控件:按钮类
开发语言·qt
深蓝电商API13 小时前
电商 API 数据实时同步:Webhook + 消息队列的架构设计
接口·api·电商api
基德爆肝c语言13 小时前
Qt:显示类控件
开发语言·qt·命令模式
潇湘散客13 小时前
CAX软件插件化设计实战:从框架到3D基础功能落地
c++·图形学·opengl
小许同学记录成长14 小时前
基于 QxOrm 的 Qt 持久化层技术指南
开发语言·数据库·qt