加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
POpenGLWidget.h 1.08 KB
一键复制 编辑 原始数据 按行查看 历史
StriveZhang 提交于 2023-03-13 10:37 . 添加新功能前准备
#ifndef POPENGLWIDGET_H
#define POPENGLWIDGET_H
#pragma once
#include <QOpenGLWidget>
#include <QOpenGLFunctions_3_3_Core>
#include <QOpenGLShaderProgram>
#include <QTimer>
#include <QOpenGLTexture>
// 基类为 后面两个类
class POpenGLWidget : public QOpenGLWidget, QOpenGLFunctions_3_3_Core
{
Q_OBJECT
public:
explicit POpenGLWidget(QWidget* parent = nullptr);
// 构建析构函数
~POpenGLWidget();
/*图形类型的枚举*/
enum Shape { None,Triangle, Rect};
/*互动函数声明*/
void drawShape(Shape shape); // 实现绘制
void setWirefarme(bool wireframe); // 线框绘制
void fillColor(bool color);// 填充颜色
void autoColor(bool autoColor); // 颜色自动变化
void gradualColor(bool gradual); // 渐变
void textureFill(bool isTexture); // 纹理
private:
/*成员变量*/
Shape m_shape; // 保存当前我们要画什么图形
QOpenGLShaderProgram shaderProgram; // shader封装类
QTimer timer; // 获取时间
QOpenGLTexture* textureWall; // 引入封装类
protected:
// 需要重载的函数 来自QOpenGLWidget
virtual void initializeGL();
virtual void resizeGL(int w, int h);
virtual void paintGL();
signals:
};
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化