一、效果图
二、代码
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QDebug>
#include <QOpenGLWidget>
#include <QOpenGLFunctions>
#include <QOpenGLShaderProgram>
#include <QMatrix4x4>
class Widget : public QOpenGLWidget, protected QOpenGLFunctions
{
public:
Widget(QWidget *parent = nullptr);
~Widget();
protected:
void initializeGL();
void paintGL();
void resizeGL(int w, int h);
private:
QOpenGLShaderProgram *program;
GLuint programId;
GLint matrixLocation,vertexLocation,clorLocation;
int vVerticesLen,triIndexLen,colorsLen;
GLuint verVbo,indexVbo,colorVbo;
QMatrix4x4 projection;
};
#endif // WIDGET_H
#include "widget.h"
//三角形顶点坐标
GLfloat vertex[] = {
-0.5f, 0.0f,
0.5f, 0.0f,
0.0f, 0.5f,
};
//三角形顶点索引
GLuint triIndexs[] = {
0