29 ~GridProgram() = default; |
29 ~GridProgram() = default; |
30 void initialize(); |
30 void initialize(); |
31 void setViewMatrix(const glm::mat4& newViewMatrix); |
31 void setViewMatrix(const glm::mat4& newViewMatrix); |
32 void setProjectionMatrix(const glm::mat4& newProjectionMatrix); |
32 void setProjectionMatrix(const glm::mat4& newProjectionMatrix); |
33 void setModelMatrix(const glm::mat4& newModelMatrix); |
33 void setModelMatrix(const glm::mat4& newModelMatrix); |
|
34 void setGridColor(const QColor& newGridColor); |
34 void operator=(GridProgram) = delete; |
35 void operator=(GridProgram) = delete; |
35 void draw(); |
36 void draw(); |
36 void teardown(); |
37 void teardown(); |
37 private: |
38 private: |
38 void checkForGLErrors(); |
39 void checkForGLErrors(); |
39 bool isInitialized = false; |
40 bool isInitialized = false; |
40 QOpenGLBuffer buffer; |
41 QOpenGLBuffer buffer; |
41 QOpenGLShader vertexShader; |
42 QOpenGLShader vertexShader; |
42 QOpenGLShader fragmentShader; |
43 QOpenGLShader fragmentShader; |
43 std::optional<gl::ShaderProgram> program{std::nullopt}; |
44 std::optional<gl::ShaderProgram> program{std::nullopt}; |
|
45 glm::vec4 gridColor = {1.0f, 1.0f, 1.0f, 0.75f}; |
44 QOpenGLVertexArrayObject vertexArrayObject; |
46 QOpenGLVertexArrayObject vertexArrayObject; |
45 }; |
47 }; |