From 0a68fa8e14bdafaa2bc456981a571a3f65ad8b76 Mon Sep 17 00:00:00 2001 From: YimingWu Date: Tue, 28 Dec 2021 11:19:28 +0800 Subject: LineArt: Intersection function additional clamping To handle a rare case where it leads to a -1 index in isect order lookup --- source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/blender/gpencil_modifiers') diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c index 9241d256db0..a5cffb822c8 100644 --- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c +++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c @@ -2585,8 +2585,10 @@ static bool lineart_triangle_edge_image_space_occlusion(SpinLock *UNUSED(spl), INTERSECT_JUST_GREATER(is, order, is[LCross], RCross); } else { - INTERSECT_JUST_GREATER(is, order, is[LCross], LCross); - INTERSECT_JUST_GREATER(is, order, is[LCross], RCross); + INTERSECT_JUST_GREATER(is, order, 1 - DBL_TRIANGLE_LIM, LCross); + if (LCross > 0) { + INTERSECT_JUST_GREATER(is, order, is[LCross], RCross); + } } } } -- cgit v1.2.3