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

}
相关推荐
:mnong3 小时前
附图报价系统设计分析6
人工智能·opengl·cad·python3.11·opencascade
郝学胜-神的一滴3 小时前
[简化版 GAMES 101] 计算机图形学 08:三角形光栅化上
c++·unity·游戏引擎·godot·图形渲染·opengl·unreal
张人玉5 小时前
PyCharm配置PyQt5安装报错详情笔记
笔记·qt·pycharm·pyqt5
小许同学记录成长8 小时前
三维编辑功能实现
qt·算法·无人机
gqk018 小时前
C++ / MFC / Qt / C# 核心知识点汇总笔记
c++·qt·mfc
leo__5208 小时前
基于 OpenCV + Qt 的水果智能识别分类系统
qt·opencv·分类
代钦塔拉8 小时前
Qt 按钮 Lambda 信号槽重复绑定、多次触发 BUG 深度剖析与终极解决方案
c++·qt·bug
没想好取什么名8 小时前
解决vscode打开qt creator项目头文件报错的现象
ide·vscode·qt
yanlaifan9 小时前
AI agent和API介绍
api
Wect1 天前
前端工程化 Mock 数据原理与实践
前端·api·前端工程化