1 #pragma once |
1 #pragma once |
2 #include <QOpenGLWidget> |
2 #include <QOpenGLWidget> |
3 #include <QOpenGLFunctions> |
3 #include <QOpenGLFunctions> |
4 #include <QQuaternion> |
4 #include <QQuaternion> |
5 #include "main.h" |
5 #include "main.h" |
|
6 #include "gl/common.h" |
6 |
7 |
7 class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions |
8 class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions |
8 { |
9 { |
9 public: |
10 public: |
10 PartRenderer(QWidget* parent = nullptr); |
11 PartRenderer(QWidget* parent = nullptr); |
11 protected: |
12 protected: |
12 void initializeGL() override; |
13 void initializeGL() override; |
13 void resizeGL(int width, int height) override; |
14 void resizeGL(int width, int height) override; |
14 void paintGL() override; |
15 void paintGL() override; |
15 void mouseMoveEvent(QMouseEvent* event) override; |
16 void mouseMoveEvent(QMouseEvent* event) override; |
|
17 private slots: |
|
18 void setRenderStyle(const gl::RenderStyle newStyle); |
16 private: |
19 private: |
17 QPointF lastMousePosition; |
20 QPointF lastMousePosition; |
18 bool initialized = false; |
21 bool initialized = false; |
|
22 gl::RenderStyle renderStyle = gl::RenderStyle::Normal; |
19 QQuaternion rotation; |
23 QQuaternion rotation; |
20 void initializeLighting(); |
24 void initializeLighting(); |
21 }; |
25 }; |