src/gl/vertexprogram.h

changeset 119
24275a4064f4
parent 118
8e1c9f18ae15
child 200
ca23936b455b
equal deleted inserted replaced
118:8e1c9f18ae15 119:24275a4064f4
4 class Document; 4 class Document;
5 5
6 class VertexProgram : public AbstractBasicShaderProgram 6 class VertexProgram : public AbstractBasicShaderProgram
7 { 7 {
8 public: 8 public:
9 enum FragmentStyle
10 {
11 Normal,
12 Id
13 };
9 struct Vertex 14 struct Vertex
10 { 15 {
11 glm::vec3 position; 16 glm::vec3 position;
12 glm::vec3 color; 17 glm::vec3 color;
13 }; 18 };
20 int vertexSize() const override; 25 int vertexSize() const override;
21 int vertexCount() const override; 26 int vertexCount() const override;
22 void setupVertexArrays() override; 27 void setupVertexArrays() override;
23 GLenum drawMode() const override; 28 GLenum drawMode() const override;
24 QOpenGLBuffer::UsagePattern usagePattern() const override; 29 QOpenGLBuffer::UsagePattern usagePattern() const override;
30 void setFragmentStyle(FragmentStyle newFragmentStyle);
25 private: 31 private:
26 std::vector<Vertex> data; 32 std::vector<Vertex> data;
33 FragmentStyle fragmentStyle = Normal;
27 }; 34 };
28 35
29 #endif // VERTEXPROGRAM_H 36 #endif // VERTEXPROGRAM_H

mercurial