8 #include <QOpenGLShaderProgram> |
8 #include <QOpenGLShaderProgram> |
9 #include <glm/glm.hpp> |
9 #include <glm/glm.hpp> |
10 #include "main.h" |
10 #include "main.h" |
11 #include "gl/common.h" |
11 #include "gl/common.h" |
12 #include "gl/compiler.h" |
12 #include "gl/compiler.h" |
|
13 #include "gl/gridprogram.h" |
13 |
14 |
14 class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions |
15 class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions |
15 { |
16 { |
16 Q_OBJECT |
17 Q_OBJECT |
17 public: |
18 public: |
42 QPointF lastMousePosition; |
43 QPointF lastMousePosition; |
43 gl::RenderPreferences renderPreferences; |
44 gl::RenderPreferences renderPreferences; |
44 glm::mat4 projectionMatrix; |
45 glm::mat4 projectionMatrix; |
45 glm::mat4 viewMatrix; |
46 glm::mat4 viewMatrix; |
46 glm::quat modelQuaternion; |
47 glm::quat modelQuaternion; |
|
48 std::optional<GridProgram> gridProgram; |
47 static constexpr double MIN_ZOOM = 0.0; |
49 static constexpr double MIN_ZOOM = 0.0; |
48 static constexpr double MAX_ZOOM = 3.0; |
50 static constexpr double MAX_ZOOM = 3.0; |
49 double zoom = 1.0; |
51 double zoom = 1.0; |
50 bool initialized = false; |
52 bool initialized = false; |
51 void renderVao(const gl::ArrayClass arrayClass); |
53 void renderVao(const gl::ArrayClass arrayClass); |