aboutsummaryrefslogtreecommitdiff
path: root/src/raytracer/raytracer.h
diff options
context:
space:
mode:
authorDavid Doan <daviddoan@Davids-MacBook-Pro-70.local>2023-12-07 21:57:21 -0500
committerDavid Doan <daviddoan@Davids-MacBook-Pro-70.local>2023-12-07 21:57:21 -0500
commit940a2361da8f51ab2547f1b7bfd42dc1c8645642 (patch)
tree5916cfed50ae675ae10275c1134fc522ee59bae3 /src/raytracer/raytracer.h
parentcaa765bff49d54217b75aaf0e7acf4e5392a11e4 (diff)
added a GUI
Diffstat (limited to 'src/raytracer/raytracer.h')
-rw-r--r--src/raytracer/raytracer.h26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/raytracer/raytracer.h b/src/raytracer/raytracer.h
index 6a16cdf..5fbe907 100644
--- a/src/raytracer/raytracer.h
+++ b/src/raytracer/raytracer.h
@@ -6,6 +6,8 @@
#include "raytracescene.h"
#include "accelerate/kdtree.h"
#include "accelerate/bvh.h"
+#include <QOpenGLWidget>
+#include <QLabel>
// A forward declaration for the RaytraceScene class
@@ -31,12 +33,12 @@ struct Config {
bool onlyRenderNormals = false;
};
-class RayTracer
+class RayTracer : public QWidget
{
public:
// constructor for the config
- explicit RayTracer(const Config &config);
- const Config &m_config;
+ RayTracer(QWidget *parent = nullptr);
+// const Config &m_config;
// Renders the scene synchronously.
// The ray-tracer will render the scene and fill imageData in-place.
@@ -136,5 +138,23 @@ public:
// depth of field
glm::vec4 secondaryRays(glm::vec4 pWorld, glm::vec4 dWorld, RayTraceScene &scene);
+
+ // Old m_config
+
+ bool m_enableShadow = true;
+ bool m_enableReflection = true;
+ bool m_enableRefraction = false;
+ bool m_enableTextureMap = false;
+ bool m_enableAcceleration = true;
+ bool m_enableParallelism = true;
+ int m_maxRecursiveDepth = 4;
+ bool m_enableAntiAliasing = false;
+ bool m_enableDepthOfField = false;
+ bool m_enableSuperSample = false;
+
+ void sceneChanged(QLabel* imageLabel);
+ void settingsChanged(QLabel* imageLabel);
+ RenderData m_metaData;
+
};