Sun, 13 Mar 2022 14:53:14 +0200
merge
#ifndef VERTEXPROGRAM_H #define VERTEXPROGRAM_H #include "basicshaderprogram.h" class Document; class VertexProgram : public AbstractBasicShaderProgram { public: enum FragmentStyle { Normal, Id }; struct Vertex { glm::vec3 position; glm::vec3 color; }; VertexProgram(QObject* parent = nullptr); void build(const Document* document); protected: const char* vertexShaderSource() const override; const char* fragmentShaderSource() const override; const void* vertexData() const override; int vertexSize() const override; int vertexCount() const override; void setupVertexArrays() override; GLenum drawMode() const override; QOpenGLBuffer::UsagePattern usagePattern() const override; void setFragmentStyle(FragmentStyle newFragmentStyle); private: std::vector<Vertex> data; FragmentStyle fragmentStyle = Normal; }; #endif // VERTEXPROGRAM_H