diff options
author | Brecht Van Lommel <brecht@blender.org> | 2022-03-15 20:40:59 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-03-15 20:42:08 +0300 |
commit | 7f77bd95d982279766c2bfb38829b18fdbe55f02 (patch) | |
tree | 9954c6208025a80265aa1ec2831aa64370f6a66e /intern | |
parent | c2f9133b292487e91577484277261fede824a085 (diff) |
Fix T96381: Cycles GPU wrong render with camera inside multiple volumes
Diffstat (limited to 'intern')
-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 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 |