[Bf-blender-cvs] [9f4d79d02ad] lanpr-under-gp: LineArt: Adjacent triangle hack.
YimingWu
noreply at git.blender.org
Wed Jul 29 09:09:34 CEST 2020
Commit: 9f4d79d02ade3eaa520429ef728bf7bf4bea0c4d
Author: YimingWu
Date: Wed Jul 29 14:29:51 2020 +0800
Branches: lanpr-under-gp
https://developer.blender.org/rB9f4d79d02ade3eaa520429ef728bf7bf4bea0c4d
LineArt: Adjacent triangle hack.
===================================================================
M source/blender/editors/lineart/lineart_cpu.c
===================================================================
diff --git a/source/blender/editors/lineart/lineart_cpu.c b/source/blender/editors/lineart/lineart_cpu.c
index 7ff1cc76949..6373c567104 100644
--- a/source/blender/editors/lineart/lineart_cpu.c
+++ b/source/blender/editors/lineart/lineart_cpu.c
@@ -1870,37 +1870,19 @@ static int lineart_triangle_line_imagespace_intersection_v2(SpinLock *UNUSED(spl
return 1;
}
-static LineartRenderLine *lineart_triangle_share_edge(const LineartRenderTriangle *l,
- const LineartRenderTriangle *r)
+static bool *lineart_triangle_share_edge(const LineartRenderTriangle *l,
+ const LineartRenderTriangle *r)
{
- if (l->rl[0] == r->rl[0]) {
- return r->rl[0];
+ if (l->rl[0]->tl == r || l->rl[0]->tr == r || l->rl[1]->tl == r || l->rl[1]->tr == r ||
+ l->rl[1]->tl == r || l->rl[1]->tr == r) {
+ return true;
}
- if (l->rl[0] == r->rl[1]) {
- return r->rl[1];
+ if (l->rl[0] == r->rl[0] || l->rl[0] == r->rl[1] || l->rl[0] == r->rl[2] ||
+ l->rl[1] == r->rl[0] || l->rl[1] == r->rl[1] || l->rl[1] == r->rl[2] ||
+ l->rl[2] == r->rl[0] || l->rl[2] == r->rl[1] || l->rl[2] == r->rl[2]) {
+ return true;
}
- if (l->rl[0] == r->rl[2]) {
- return r->rl[2];
- }
- if (l->rl[1] == r->rl[0]) {
- return r->rl[0];
- }
- if (l->rl[1] == r->rl[1]) {
- return r->rl[1];
- }
- if (l->rl[1] == r->rl[2]) {
- return r->rl[2];
- }
- if (l->rl[2] == r->rl[0]) {
- return r->rl[0];
- }
- if (l->rl[2] == r->rl[1]) {
- return r->rl[1];
- }
- if (l->rl[2] == r->rl[2]) {
- return r->rl[2];
- }
- return 0;
+ return false;
}
static LineartRenderVert *lineart_triangle_share_point(const LineartRenderTriangle *l,
More information about the Bf-blender-cvs
mailing list