From 0c102ae9bf46daae4067d4ad6561097c1a59f375 Mon Sep 17 00:00:00 2001
From: Yoel <s73017@beuth-hochschule.de>
Date: Sat, 17 Oct 2020 17:06:26 +0200
Subject: [PATCH] Changed scatter and implemented new calcLightMulti-func

---
 RayTracer/material/BackgroundMaterial.cpp | 10 +++++++++-
 RayTracer/material/BackgroundMaterial.h   |  6 +++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/RayTracer/material/BackgroundMaterial.cpp b/RayTracer/material/BackgroundMaterial.cpp
index e822666..22f7c2d 100644
--- a/RayTracer/material/BackgroundMaterial.cpp
+++ b/RayTracer/material/BackgroundMaterial.cpp
@@ -20,7 +20,15 @@ util::Vec3 BackgroundMaterial::scattered_d(const util::Vec3& d,
                                            const util::Vec3& n) const {
 	return util::Vec3(0, 0, 0);
 }
-bool BackgroundMaterial::scatter() const {
+bool BackgroundMaterial::scatter(const util::Vec3& d,
+                                 const util::Vec3& n) const {
 	return false;
 }
+
+float BackgroundMaterial::calculateLightMultiplier(const util::Vec3& d_in,
+                                                   const util::Vec3& d_out,
+                                                   const util::Vec3& n) const {
+	// Background should not be able to receive any light
+	return 0;
+}
 }  // namespace material
\ No newline at end of file
diff --git a/RayTracer/material/BackgroundMaterial.h b/RayTracer/material/BackgroundMaterial.h
index ec75613..c6594c4 100644
--- a/RayTracer/material/BackgroundMaterial.h
+++ b/RayTracer/material/BackgroundMaterial.h
@@ -12,7 +12,11 @@ class BackgroundMaterial : public Material {
 	util::Vec3 emission(float texel_x, float texel_y) const override;
 	util::Vec3 scattered_d(const util::Vec3& d,
 	                       const util::Vec3& n) const override;
-	bool scatter() const override;
+	bool scatter(const util::Vec3& d, const util::Vec3& n) const override;
+
+	float calculateLightMultiplier(const util::Vec3& d_in,
+	                               const util::Vec3& d_out,
+	                               const util::Vec3& n) const override;
 
    private:
 	std::shared_ptr<util::Sampler> texture;
-- 
GitLab