src/gl/vertexprogram.h

changeset 118
8e1c9f18ae15
child 119
24275a4064f4
equal deleted inserted replaced
117:121a40d5e34c 118:8e1c9f18ae15
1 #ifndef VERTEXPROGRAM_H
2 #define VERTEXPROGRAM_H
3 #include "basicshaderprogram.h"
4 class Document;
5
6 class VertexProgram : public AbstractBasicShaderProgram
7 {
8 public:
9 struct Vertex
10 {
11 glm::vec3 position;
12 glm::vec3 color;
13 };
14 VertexProgram(QObject* parent = nullptr);
15 void build(const Document* document);
16 protected:
17 const char* vertexShaderSource() const override;
18 const char* fragmentShaderSource() const override;
19 const void* vertexData() const override;
20 int vertexSize() const override;
21 int vertexCount() const override;
22 void setupVertexArrays() override;
23 GLenum drawMode() const override;
24 QOpenGLBuffer::UsagePattern usagePattern() const override;
25 private:
26 std::vector<Vertex> data;
27 };
28
29 #endif // VERTEXPROGRAM_H

mercurial