[Bf-blender-cvs] [5b216aae8b3] master: Fix T101065: wrong denoising depth after ray precision improvements

Brecht Van Lommel noreply at git.blender.org
Thu Sep 15 16:04:34 CEST 2022


Commit: 5b216aae8b3d53b0360f7c60f5197bdd88e322ca
Author: Brecht Van Lommel
Date:   Thu Sep 15 15:30:11 2022 +0200
Branches: master
https://developer.blender.org/rB5b216aae8b3d53b0360f7c60f5197bdd88e322ca

Fix T101065: wrong denoising depth after ray precision improvements

===================================================================

M	intern/cycles/kernel/film/denoising_passes.h

===================================================================

diff --git a/intern/cycles/kernel/film/denoising_passes.h b/intern/cycles/kernel/film/denoising_passes.h
index 1517e8bad56..dfc21d787f2 100644
--- a/intern/cycles/kernel/film/denoising_passes.h
+++ b/intern/cycles/kernel/film/denoising_passes.h
@@ -30,8 +30,8 @@ ccl_device_forceinline void film_write_denoising_features_surface(KernelGlobals
   if (kernel_data.film.pass_denoising_depth != PASS_UNUSED) {
     const Spectrum denoising_feature_throughput = INTEGRATOR_STATE(
         state, path, denoising_feature_throughput);
-    const float denoising_depth = ensure_finite(average(denoising_feature_throughput) *
-                                                sd->ray_length);
+    const float depth = sd->ray_length - INTEGRATOR_STATE(state, ray, tmin);
+    const float denoising_depth = ensure_finite(average(denoising_feature_throughput) * depth);
     film_write_pass_float(buffer + kernel_data.film.pass_denoising_depth, denoising_depth);
   }



More information about the Bf-blender-cvs mailing list