Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2022-03-15 20:40:59 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2022-03-21 15:22:50 +0300
commit233004789ea2bb199e604aa1bd6c2838d414ffa9 (patch)
treeef616855b22836bd53c4683c801a1cf016b4855a
parent2fc52fb742396bf790395a0327cf77c1c97fd229 (diff)
Fix T96381: Cycles GPU wrong render with camera inside multiple volumes
-rw-r--r--intern/cycles/kernel/integrator/intersect_volume_stack.h4
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