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