diff options
Diffstat (limited to 'src/raytracer/raytracer.h')
-rw-r--r-- | src/raytracer/raytracer.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/raytracer/raytracer.h b/src/raytracer/raytracer.h index f938dd6..4bdca6f 100644 --- a/src/raytracer/raytracer.h +++ b/src/raytracer/raytracer.h @@ -8,6 +8,7 @@ #include "accelerate/bvh.h" #include <QOpenGLWidget> #include <QLabel> +#include <QElapsedTimer> // A forward declaration for the RaytraceScene class @@ -35,6 +36,7 @@ struct Config { class RayTracer : public QWidget { + Q_OBJECT public: // constructor for the config RayTracer(QWidget *parent = nullptr); @@ -154,9 +156,23 @@ public: void sceneChanged(QLabel* imageLabel); void settingsChanged(QLabel* imageLabel); + RenderData m_metaData; + std::unordered_map<Qt::Key, bool> m_keyMap; + QElapsedTimer m_elapsedTimer; + QLabel* m_imageLabel; + + void keyPressEvent(QKeyEvent *event) override; + void keyReleaseEvent(QKeyEvent *event) override; glm::mat4 getRotationMatrix4(float angleRadiansXY, float angleRadiansYZ, float angleRadiansZX, float angleRadiansXW, float angleRadiansYW, float angleRadiansZW); +signals: + void xyRotationChanged(float value); + void xzRotationChanged(float value); + void xwRotationChanged(float value); + void yzRotationChanged(float value); + void ywRotationChanged(float value); + void zwRotationChanged(float value); }; |