diff options
author | David Doan <daviddoan@Davids-MacBook-Pro-70.local> | 2023-12-07 21:57:21 -0500 |
---|---|---|
committer | David Doan <daviddoan@Davids-MacBook-Pro-70.local> | 2023-12-07 21:57:21 -0500 |
commit | 940a2361da8f51ab2547f1b7bfd42dc1c8645642 (patch) | |
tree | 5916cfed50ae675ae10275c1134fc522ee59bae3 /src/raytracer/raytracer.h | |
parent | caa765bff49d54217b75aaf0e7acf4e5392a11e4 (diff) |
added a GUI
Diffstat (limited to 'src/raytracer/raytracer.h')
-rw-r--r-- | src/raytracer/raytracer.h | 26 |
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; + }; |