1 #pragma once |
1 #pragma once |
2 #include "common.h" |
2 #include "abstractshaderprogram.h" |
3 |
3 |
4 /** |
4 /** |
5 * @brief Base class for basic shader programs |
5 * @brief Base class for basic shader programs |
6 * |
6 * |
7 * A basic program is a collection of a single VAO with a single VBO, |
7 * A basic program is a collection of a single VAO with a single VBO, |
8 * a vertex shader and a fragment shader. This program deals with these |
8 * a vertex shader and a fragment shader. This program deals with these |
9 * components, leaving the program-specific details to the subclasses. |
9 * components, leaving the program-specific details to the subclasses. |
10 */ |
10 */ |
11 class AbstractBasicShaderProgram : public QObject, protected QOpenGLFunctions |
11 class AbstractBasicShaderProgram : public AbstractShaderProgram |
12 { |
12 { |
13 Q_OBJECT |
13 Q_OBJECT |
14 public: |
14 public: |
15 AbstractBasicShaderProgram(QObject* parent = nullptr); |
15 AbstractBasicShaderProgram(QObject* parent = nullptr); |
16 ~AbstractBasicShaderProgram() = default; |
16 ~AbstractBasicShaderProgram() = default; |