Wed, 22 Jun 2022 16:13:15 +0300
Done some work on object editor
#ifndef VERTEXPROGRAM_H #define VERTEXPROGRAM_H #include "basicshaderprogram.h" class VertexMap; class VertexProgram : public AbstractBasicShaderProgram { public: enum FragmentStyle { Normal, Id }; struct Vertex { glm::vec3 position; glm::vec3 color; }; VertexProgram(QObject* parent = nullptr); void build(const VertexMap* 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