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

}
相关推荐
奇树谦5 小时前
3-5年工控上位机(C++/Qt)面试题|聚焦实战,直击核心模块
c++·qt
爱吃巧克力的程序媛5 小时前
COM 对象的核心基础知识
c++·qt
小喻同学i5 小时前
卸载VS2015,安装VS2017后Qt报错问题
开发语言·qt
载数而行5205 小时前
Qt事件event分发,事件和信号关系,事件过滤
qt
载数而行5206 小时前
Qt鼠标处理的项目,包含事件分发、处理机制
qt
qq_283720056 小时前
Qt QML 中为 ComBox设置鸿蒙字体(HarmonyOS Sans)——适配 Qt 5.6.x 与 Qt 5.12+
c++·qt·harmonyos
小郭学习之路6 小时前
Qt vs tools的一个编译问题
开发语言·qt
C++ 老炮儿的技术栈7 小时前
Qt 开发机器人客户端程序
c语言·开发语言·c++·windows·qt·机器人
Ronin3057 小时前
【Qt系统相关】Qt系统相关
网络·qt·音视频·多线程·定时器·事件·qt文件
娇娇yyyyyy1 天前
QT编程(15): Qt 按键事件和定时器事件
开发语言·qt