aboutsummaryrefslogtreecommitdiff
path: root/src/raytracer
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2023-12-12 22:57:38 -0500
committersotech117 <michael_foiani@brown.edu>2023-12-12 22:57:38 -0500
commitb4f50256edcbb66e831ee910c8f3af331457ceda (patch)
tree2ecb9f495ad31089ca76d7923f17dc7ff7130e8a /src/raytracer
parent29785b8a928d464b46cb5c977adf100ee966be6b (diff)
update aspect ratio to be 3 dimensional
Diffstat (limited to 'src/raytracer')
-rw-r--r--src/raytracer/raytracer.cpp3
-rw-r--r--src/raytracer/raytracescene.cpp9
-rw-r--r--src/raytracer/raytracescene.h7
3 files changed, 15 insertions, 4 deletions
diff --git a/src/raytracer/raytracer.cpp b/src/raytracer/raytracer.cpp
index 0746225..11876ab 100644
--- a/src/raytracer/raytracer.cpp
+++ b/src/raytracer/raytracer.cpp
@@ -171,6 +171,7 @@ void RayTracer::sceneChanged(QLabel* imageLabel) {
int width = 576;
int height = 432;
+ int depth = 500;
// render the scene
QImage image = QImage(width, height, QImage::Format_RGBX8888);
@@ -178,7 +179,7 @@ void RayTracer::sceneChanged(QLabel* imageLabel) {
RGBA *data = reinterpret_cast<RGBA *>(image.bits());
- RayTraceScene rtScene{ width, height, m_metaData };
+ RayTraceScene rtScene{ width, height,m_metaData, depth };
this->render(data, rtScene);
QImage flippedImage = image.mirrored(false, false);
diff --git a/src/raytracer/raytracescene.cpp b/src/raytracer/raytracescene.cpp
index f70aa83..77541e3 100644
--- a/src/raytracer/raytracescene.cpp
+++ b/src/raytracer/raytracescene.cpp
@@ -4,12 +4,13 @@
#include "raytracer.h"
#include <iostream>
-RayTraceScene::RayTraceScene(int width, int height, const RenderData &metaData) :
+RayTraceScene::RayTraceScene(int width, int height, const RenderData &metaData, int depth) :
m_camera(* new Camera(metaData.cameraData))
{
// Optional TODO: implement this. Store whatever you feel is necessary.
m_width = width;
m_height = height;
+ m_depth = depth;
m_sceneGlobalData = metaData.globalData;
m_shapes = metaData.shapes;
m_lights = metaData.lights;
@@ -37,6 +38,12 @@ const int& RayTraceScene::height() const {
return m_height;
}
+
+const int& RayTraceScene::depth() const {
+ // Optional TODO: implement the getter or make your own design
+ return m_depth;
+}
+
const SceneGlobalData& RayTraceScene::getGlobalData() const {
// Optional TODO: implement the getter or make your own design
return m_sceneGlobalData;
diff --git a/src/raytracer/raytracescene.h b/src/raytracer/raytracescene.h
index b61bd2f..a380adc 100644
--- a/src/raytracer/raytracescene.h
+++ b/src/raytracer/raytracescene.h
@@ -14,9 +14,9 @@
class RayTraceScene
{
public:
- RayTraceScene(int width, int height, const RenderData &metaData);
+ RayTraceScene(int width, int height, const RenderData &metaData, int depth=500);
- // The getter of the width of the scene
+// The getter of the width of the scene
const int& width() const;
// The getter of the height of the scene
@@ -39,4 +39,7 @@ private:
Camera& m_camera;
std::vector<RenderShapeData>m_shapes;
std::vector<SceneLightData>m_lights;
+ int m_depth;
+
+ const int &depth() const;
};