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

}
相关推荐
程序员佳佳9 小时前
【万字硬核】从零构建企业级AI中台:基于Vector Engine整合GPT-5.2、Sora2与Veo3的落地实践指南
人工智能·gpt·chatgpt·ai作画·aigc·api·ai编程
崔庆才丨静觅9 小时前
惊了!1句话生成带货短视频!ACE Data Platform × SeeDance 让普通人也能当“视频导演”
api
小温冲冲11 小时前
QtObject 详解:QML 中的轻量级数据容器
qt
huwei85312 小时前
Q打印表格内容类
开发语言·qt
Quz17 小时前
QML 常用的基础容器组件(Pane、Frame、GroupBox、ScrollView 和 Page)
qt·交互
墨月白17 小时前
[QT] QT中的折线图和散点图
数据库·qt
问水っ18 小时前
Qt Creator快速入门 第三版 第16-7章 其他内容
开发语言·qt
Tianwen_Burning18 小时前
qt控件QVTKOpenGLNativeWidget全窗口显示
qt·pcl·halcon3d
星光不问赶路人18 小时前
Nginx 的 location 路径匹配语法详解
nginx·api
小CC吃豆子19 小时前
Qt的信号与槽机制
开发语言·数据库·qt