Wed, 22 Jan 2020 22:43:28 +0200
added FindGLM.cmake
| 17 | 1 | #pragma once |
| 2 | #include <QOpenGLWidget> | |
| 3 | #include <QOpenGLFunctions> | |
| 4 | #include <QQuaternion> | |
| 26 | 5 | #include <QOpenGLVertexArrayObject> |
| 6 | #include <QOpenGLBuffer> | |
| 7 | #include <QOpenGLShader> | |
| 8 | #include <QOpenGLShaderProgram> | |
| 28 | 9 | #include <glm/glm.hpp> |
| 17 | 10 | #include "main.h" |
| 18 | 11 | #include "gl/common.h" |
| 21 | 12 | #include "gl/compiler.h" |
| 17 | 13 | |
| 14 | class PartRenderer : public QOpenGLWidget, protected QOpenGLFunctions | |
| 15 | { | |
| 21 | 16 | Q_OBJECT |
| 17 | 17 | public: |
| 26 | 18 | PartRenderer(Model* model, DocumentManager* documents, const ColorTable& colorTable, QWidget* parent = nullptr); |
| 19 | ~PartRenderer() override; | |
| 17 | 20 | protected: |
| 21 | void initializeGL() override; | |
| 22 | void resizeGL(int width, int height) override; | |
| 23 | void paintGL() override; | |
| 24 | void mouseMoveEvent(QMouseEvent* event) override; | |
| 21 | 25 | void setCompiler(gl::Compiler* compiler); |
| 18 | 26 | private slots: |
| 27 | void setRenderStyle(const gl::RenderStyle newStyle); | |
| 17 | 28 | private: |
|
22
6da867fa5429
commit work on GL rendering
Teemu Piippo <teemu@hecknology.net>
parents:
21
diff
changeset
|
29 | void renderScene(); |
| 21 | 30 | Model* const model; |
| 31 | DocumentManager* const documents; | |
| 26 | 32 | const ColorTable& colorTable; |
| 17 | 33 | QPointF lastMousePosition; |
|
22
6da867fa5429
commit work on GL rendering
Teemu Piippo <teemu@hecknology.net>
parents:
21
diff
changeset
|
34 | QQuaternion rotation; |
|
6da867fa5429
commit work on GL rendering
Teemu Piippo <teemu@hecknology.net>
parents:
21
diff
changeset
|
35 | gl::Compiler* compiler; |
| 18 | 36 | gl::RenderStyle renderStyle = gl::RenderStyle::Normal; |
| 28 | 37 | glm::mat4 projectionMatrix; |
| 38 | glm::mat4 viewMatrix; | |
|
22
6da867fa5429
commit work on GL rendering
Teemu Piippo <teemu@hecknology.net>
parents:
21
diff
changeset
|
39 | bool initialized = false; |
| 17 | 40 | void initializeLighting(); |
| 26 | 41 | void renderVao(const gl::ArrayClass arrayClass); |
| 42 | void checkForGLErrors(); | |
| 17 | 43 | }; |