From 233004789ea2bb199e604aa1bd6c2838d414ffa9 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 15 Mar 2022 18:40:59 +0100 Subject: Fix T96381: Cycles GPU wrong render with camera inside multiple volumes --- intern/cycles/kernel/integrator/intersect_volume_stack.h | 4 ++++ 1 file changed, 4 insertions(+) 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 -- cgit v1.2.3