From fb8ea92ce869865617fee0ca863b5510f2aa8ad8 Mon Sep 17 00:00:00 2001 From: numzero Date: Sun, 23 Nov 2025 21:02:38 +0300 Subject: [PATCH] fix double-accounting for surface slope --- src/lib.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 8b7384d..a6a1101 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -309,9 +309,7 @@ impl Core { assert!(hit.incident.dir.is_normalized()); let reflector = Lambertian; let in_lm = 1.0; - let out_cd = in_lm - * hit.normal.dot(-hit.incident.dir) - * reflector.brdf(hit.normal, hit.incident.dir, -ray.dir); + let out_cd = in_lm * reflector.brdf(hit.normal, hit.incident.dir, -ray.dir); let weight = accum_normalizator * (-0.5 * d2 / sigma2).exp(); total_cd += weight * out_cd; }