[Bf-blender-cvs] [604fb50cf35] cycles-x: Fix T90848: Cycles X correlation artifact in subsurface scattering

Brecht Van Lommel noreply at git.blender.org
Thu Sep 9 20:39:56 CEST 2021


Commit: 604fb50cf35cf30c02b6e9ad16b51f57ff96f51b
Author: Brecht Van Lommel
Date:   Thu Sep 9 20:38:11 2021 +0200
Branches: cycles-x
https://developer.blender.org/rB604fb50cf35cf30c02b6e9ad16b51f57ff96f51b

Fix T90848: Cycles X correlation artifact in subsurface scattering

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

M	intern/cycles/kernel/integrator/integrator_subsurface.h

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

diff --git a/intern/cycles/kernel/integrator/integrator_subsurface.h b/intern/cycles/kernel/integrator/integrator_subsurface.h
index 73375c06089..c22575c29bb 100644
--- a/intern/cycles/kernel/integrator/integrator_subsurface.h
+++ b/intern/cycles/kernel/integrator/integrator_subsurface.h
@@ -585,6 +585,9 @@ ccl_device_inline bool subsurface_scatter(INTEGRATOR_STATE_ARGS)
   integrator_state_write_isect(INTEGRATOR_STATE_PASS, &ss_isect.hits[0]);
   integrator_state_write_ray(INTEGRATOR_STATE_PASS, &ray);
 
+  /* Advanced random number offset for bounce. */
+  INTEGRATOR_STATE_WRITE(path, rng_offset) += PRNG_BOUNCE_NUM;
+
   const int shader = intersection_get_shader(kg, &ss_isect.hits[0]);
   const int shader_flags = kernel_tex_fetch(__shaders, shader).flags;
   if ((shader_flags & SD_HAS_RAYTRACE) || (kernel_data.film.pass_ao != PASS_UNUSED)) {



More information about the Bf-blender-cvs mailing list