[Bf-blender-cvs] [233004789ea] blender-v3.1-release: Fix T96381: Cycles GPU wrong render with camera inside multiple volumes

Brecht Van Lommel noreply at git.blender.org
Mon Mar 21 14:06:51 CET 2022


Commit: 233004789ea2bb199e604aa1bd6c2838d414ffa9
Author: Brecht Van Lommel
Date:   Tue Mar 15 18:40:59 2022 +0100
Branches: blender-v3.1-release
https://developer.blender.org/rB233004789ea2bb199e604aa1bd6c2838d414ffa9

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 ee3d82ebacb..9dd7720f032 100644
--- a/intern/cycles/kernel/integrator/intersect_volume_stack.h
+++ b/intern/cycles/kernel/integrator/intersect_volume_stack.h
@@ -72,6 +72,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);
     }
@@ -211,6 +213,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