From 97ae08c9fcca55179f72f9bc318cc750e8f9d8a4 Mon Sep 17 00:00:00 2001 From: YimingWu Date: Fri, 31 Dec 2021 21:25:03 +0800 Subject: LineArt: Correct clamping of out of bound isect index Handles rare cases where line doesn't intersect the triangle correctly. --- source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c | 8 ++++++-- 1 file changed, 6 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..9e1476d928e 100644 --- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c +++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c @@ -2585,8 +2585,12 @@ 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); + if (LCross >= 0) { + INTERSECT_JUST_GREATER(is, order, is[LCross], LCross); + if (LCross >= 0) { + INTERSECT_JUST_GREATER(is, order, is[LCross], RCross); + } + } } } } -- cgit v1.2.3