From 982994050ae1e62881ae815f02d4db828d4b5fc5 Mon Sep 17 00:00:00 2001
From: Yoel <s73017@beuth-hochschule.de>
Date: Sat, 17 Oct 2020 17:02:23 +0200
Subject: [PATCH] Refactored for new epsilon

---
 RayTracer/tools/SurfacePoint.cpp | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/RayTracer/tools/SurfacePoint.cpp b/RayTracer/tools/SurfacePoint.cpp
index 52dfc66..e740eb8 100644
--- a/RayTracer/tools/SurfacePoint.cpp
+++ b/RayTracer/tools/SurfacePoint.cpp
@@ -10,8 +10,8 @@ SurfacePoint::SurfacePoint(const util::Vec3& point, const util::Vec3& n,
     : x(point), n(n), material(material) {
 }
 cam::Ray SurfacePoint::scattered_ray(const cam::Ray& inc_ray) const {
-	return cam::Ray(x, material->scattered_d(inc_ray.d, n),
-	                std::numeric_limits<float>::epsilon(), inc_ray.tmax, true);
+	return cam::Ray(x, material->scattered_d(inc_ray.d, n), cam::epsilon,
+	                inc_ray.tmax, true);
 }
 util::Vec3 SurfacePoint::albedo() const {
 	return material->albedo(0, 0);
@@ -19,8 +19,8 @@ util::Vec3 SurfacePoint::albedo() const {
 util::Vec3 SurfacePoint::emission() const {
 	return material->emission(0, 0);
 }
-bool SurfacePoint::scatter() const {
-	return material->scatter();
+bool SurfacePoint::scatter(const util::Vec3& d, const util::Vec3& n) const {
+	return material->scatter(d, n);
 }
 util::Vec3 SurfacePoint::point() const {
 	return x;
@@ -28,4 +28,9 @@ util::Vec3 SurfacePoint::point() const {
 util::Vec3 SurfacePoint::normal() const {
 	return n;
 }
+float SurfacePoint::calculateLightMultiplier(const util::Vec3& d_in,
+                                             const util::Vec3& d_out,
+                                             const util::Vec3& n) const {
+	return material->calculateLightMultiplier(d_in, d_out, n);
+}
 }  // namespace util
\ No newline at end of file
-- 
GitLab