Sun, 19 Jan 2020 02:54:48 +0200
commit work on GL rendering
17 | 1 | #pragma once |
2 | #include <QOpenGLWidget> | |
3 | #include <QOpenGLFunctions> | |
4 | #include <QQuaternion> | |
5 | #include "main.h" | |
18 | 6 | #include "gl/common.h" |
21 | 7 | #include "gl/compiler.h" |
17 | 8 | |
9 | class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions | |
10 | { | |
21 | 11 | Q_OBJECT |
17 | 12 | public: |
21 | 13 | PartRenderer(Model* model, DocumentManager* documents, QWidget* parent = nullptr); |
17 | 14 | protected: |
15 | void initializeGL() override; | |
16 | void resizeGL(int width, int height) override; | |
17 | void paintGL() override; | |
18 | void mouseMoveEvent(QMouseEvent* event) override; | |
21 | 19 | void setCompiler(gl::Compiler* compiler); |
18 | 20 | private slots: |
21 | void setRenderStyle(const gl::RenderStyle newStyle); | |
17 | 22 | private: |
22
6da867fa5429
commit work on GL rendering
Teemu Piippo <teemu@hecknology.net>
parents:
21
diff
changeset
|
23 | void renderScene(); |
21 | 24 | Model* const model; |
25 | DocumentManager* const documents; | |
17 | 26 | QPointF lastMousePosition; |
22
6da867fa5429
commit work on GL rendering
Teemu Piippo <teemu@hecknology.net>
parents:
21
diff
changeset
|
27 | QQuaternion rotation; |
6da867fa5429
commit work on GL rendering
Teemu Piippo <teemu@hecknology.net>
parents:
21
diff
changeset
|
28 | gl::Compiler* compiler; |
18 | 29 | gl::RenderStyle renderStyle = gl::RenderStyle::Normal; |
22
6da867fa5429
commit work on GL rendering
Teemu Piippo <teemu@hecknology.net>
parents:
21
diff
changeset
|
30 | bool initialized = false; |
17 | 31 | void initializeLighting(); |
32 | }; |