aboutsummaryrefslogtreecommitdiff
path: root/src/raytracer/raytracer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/raytracer/raytracer.h')
-rw-r--r--src/raytracer/raytracer.h16
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);
};