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

}
相关推荐
气概11 小时前
QT集成basler相机
开发语言·数码相机·qt
GIS阵地1 天前
QgsRasterDataProvider 完整详解(QGIS 3.40.13 C++)
开发语言·c++·qt·开源软件·qgis
万邦科技Lafite1 天前
通过电商开放API接口进行商品比价操作指南
api·开放api·电商开放平台·京东开放平台
sycmancia1 天前
Qt——多线程中的信号与槽(二)
jvm·qt
2601_961946082 天前
AI API 网关实战:从单 Key 管理到企业级多租户架构
大数据·人工智能·金融·架构·api·个人开发
Quz2 天前
QML Label 完整用法与 Text 组件选型
前端·qt
kaixin_learn_qt_ing2 天前
QPluginLoader
qt
jump_jump2 天前
深入理解 GraphQL:一条查询到底是怎么执行的
性能优化·api·graphql
kaixin_learn_qt_ing3 天前
Qt 提升部件(Promote)找不到头文件路径
qt
秋田君3 天前
QT_QT布局详解
开发语言·数据库·qt