From 60d8221109304bc4f207dda8a42623cae488af5d Mon Sep 17 00:00:00 2001 From: Keuin Date: Sat, 16 Apr 2022 19:08:28 +0800 Subject: Move trace logging to tracelog.h. Pixel-wise, comprehensive, beautiful trace logging. --- material_reflective.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'material_reflective.cpp') diff --git a/material_reflective.cpp b/material_reflective.cpp index aa0d361..6cffcf3 100644 --- a/material_reflective.cpp +++ b/material_reflective.cpp @@ -5,6 +5,7 @@ #include "vec.h" #include "material.h" #include "material_reflective.h" +#include "tracelog.h" // perfectly-smooth reflective template<> @@ -15,7 +16,16 @@ bool material_reflective_::scatter(ray3d &r, const object &hit_obj, doubl r.source(hit_point); r.direction(reflected); r.decay(albedo); - return dot(reflected, nv) > 0; + const auto alive = dot(reflected, nv) > 0; +#ifdef LOG_TRACE + if (!alive) { + TRACELOG(" absorbed (perfectly smooth material) (reflected: [%-10f,%-10f,%-10f], nv: [%-10f,%-10f,%-10f])\n", + reflected.x, reflected.y, reflected.z, nv.x, nv.y, nv.z); + } else { + TRACELOG(" reflected (perfectly smooth material)\n"); + } +#endif + return alive; } // fuzzy reflective @@ -27,5 +37,14 @@ bool material_reflective_::scatter(ray3d &r, const object &hit_obj, double r.source(hit_point); r.direction(reflected.unit_vec()); r.decay(albedo); - return dot(reflected, nv) > 0; + const auto alive = dot(reflected, nv) > 0; +#ifdef LOG_TRACE + if (!alive) { + TRACELOG(" absorbed (fuzzy reflective material) (reflected: [%-10f,%-10f,%-10f], nv: [%-10f,%-10f,%-10f])\n", + reflected.x, reflected.y, reflected.z, nv.x, nv.y, nv.z); + } else { + TRACELOG(" reflected (fuzzy reflective material)\n"); + } +#endif + return alive; } \ No newline at end of file -- cgit v1.2.3