Wed, 08 Jun 2022 22:29:44 +0300
More refactor, merged main.h, basics.h and utility.h into one header file basics.h and removed plenty of unused code
#ifndef VERTEXPROGRAM_H #define VERTEXPROGRAM_H #include "basicshaderprogram.h" class EditorTabWidget; class VertexProgram : public AbstractBasicShaderProgram { public: enum FragmentStyle { Normal, Id }; struct Vertex { glm::vec3 position; glm::vec3 color; }; VertexProgram(QObject* parent = nullptr); void build(const EditorTabWidget* 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