diff options
author | Brecht Van Lommel <brecht@blender.org> | 2022-03-15 20:40:59 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2022-03-21 15:22:50 +0300 |
commit | 233004789ea2bb199e604aa1bd6c2838d414ffa9 (patch) | |
tree | ef616855b22836bd53c4683c801a1cf016b4855a | |
parent | 2fc52fb742396bf790395a0327cf77c1c97fd229 (diff) |
Fix T96381: Cycles GPU wrong render with camera inside multiple volumes
-rw-r--r-- | intern/cycles/kernel/integrator/intersect_volume_stack.h | 4 |
1 files changed, 4 insertions, 0 deletions
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 |