[Bf-blender-cvs] [7f77bd95d98] master: Fix T96381: Cycles GPU wrong render with camera inside multiple volumes

Brecht Van Lommel noreply at git.blender.org
Tue Mar 15 18:45:56 CET 2022


Commit: 7f77bd95d982279766c2bfb38829b18fdbe55f02
Author: Brecht Van Lommel
Date:   Tue Mar 15 18:40:59 2022 +0100
Branches: master
https://developer.blender.org/rB7f77bd95d982279766c2bfb38829b18fdbe55f02

Fix T96381: Cycles GPU wrong render with camera inside multiple volumes

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

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

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

diff --git a/intern/cycles/kernel/integrator/intersect_volume_stack.h b/intern/cycles/kernel/integrator/intersect_volume_stack.h
index 4cc933aff50..49ef01dc870 100644
--- a/intern/cycles/kernel/integrator/intersect_volume_stack.h
+++ b/intern/cycles/kernel/integrator/intersect_volume_stack.h
@@ -59,6 +59,8 @@ ccl_device void integrator_volume_stack_update_for_subsurface(KernelGlobals kg,
 
     /* Move ray forward. */
     volume_ray.P = stack_sd->P;
+    volume_ray.self.object = isect.object;
+    volume_ray.self.prim = isect.prim;
     if (volume_ray.t != FLT_MAX) {
       volume_ray.D = normalize_len(to_P - volume_ray.P, &volume_ray.t);
     }
@@ -198,6 +200,8 @@ ccl_device void integrator_volume_stack_init(KernelGlobals kg, IntegratorState s
 
     /* Move ray forward. */
     volume_ray.P = stack_sd->P;
+    volume_ray.self.object = isect.object;
+    volume_ray.self.prim = isect.prim;
     ++step;
   }
 #endif



More information about the Bf-blender-cvs mailing list