diff options
author | William Leeson <leesonw> | 2022-01-13 19:20:50 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-01-26 19:51:05 +0300 |
commit | ae440703411486c9219fa0ff54e471eea64afb58 (patch) | |
tree | 285443f953e6e89de24dad6ad5012ed2d488e182 /intern/cycles/kernel/bvh/metal.h | |
parent | a9bb4607660a2f68a78732fd7f5d5280d8075dcb (diff) |
Cycles: explicitly skip self-intersection
Remember the last intersected primitive and skip any intersections with the
same primitive.
Ref D12954
Diffstat (limited to 'intern/cycles/kernel/bvh/metal.h')
-rw-r--r-- | intern/cycles/kernel/bvh/metal.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/intern/cycles/kernel/bvh/metal.h b/intern/cycles/kernel/bvh/metal.h index 55456d15f50..5ab413d9314 100644 --- a/intern/cycles/kernel/bvh/metal.h +++ b/intern/cycles/kernel/bvh/metal.h @@ -15,6 +15,7 @@ */ struct MetalRTIntersectionPayload { + RaySelfPrimitives self; uint visibility; float u, v; int prim; @@ -25,6 +26,7 @@ struct MetalRTIntersectionPayload { }; struct MetalRTIntersectionLocalPayload { + RaySelfPrimitives self; uint local_object; uint lcg_state; short max_hits; @@ -34,6 +36,7 @@ struct MetalRTIntersectionLocalPayload { }; struct MetalRTIntersectionShadowPayload { + RaySelfPrimitives self; uint visibility; #if defined(__METALRT_MOTION__) float time; |