[Bf-blender-cvs] [5d1c589f43f] lineart-shadow: LineArt: Use double to pass isect arg
YimingWu
noreply at git.blender.org
Mon May 30 05:58:17 CEST 2022
Commit: 5d1c589f43fe2b5620de55c3485f3ab243aaf5a9
Author: YimingWu
Date: Mon May 23 23:13:49 2022 +0800
Branches: lineart-shadow
https://developer.blender.org/rB5d1c589f43fe2b5620de55c3485f3ab243aaf5a9
LineArt: Use double to pass isect arg
===================================================================
M source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
===================================================================
diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
index d0a834ee2dd..ef914d2cea8 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
@@ -3289,7 +3289,7 @@ static LineartVert *lineart_triangle_share_point(const LineartTriangle *l,
}
static bool lineart_triangle_2v_intersection_math(
- LineartVert *v1, LineartVert *v2, LineartTriangle *t2, float *last, float *rv)
+ LineartVert *v1, LineartVert *v2, LineartTriangle *t2, double *last, double *rv)
{
double Lv[3];
double Rv[3];
@@ -3324,17 +3324,17 @@ static bool lineart_triangle_2v_intersection_math(
return false;
}
- copy_v3fl_v3db(rv, gloc);
+ copy_v3_v3_db(rv, gloc);
return true;
}
static bool lineart_triangle_intersect_math(LineartTriangle *tri,
LineartTriangle *t2,
- float *v1,
- float *v2)
+ double *v1,
+ double *v2)
{
- float *next = v1, *last = NULL;
+ double *next = v1, *last = NULL;
LineartVert *sv1, *sv2;
LineartVert *share = lineart_triangle_share_point(t2, tri);
@@ -3345,7 +3345,7 @@ static bool lineart_triangle_intersect_math(LineartTriangle *tri,
lineart_triangle_get_other_verts(tri, share, &sv1, &sv2);
- copy_v3fl_v3db(v1, share->gloc);
+ copy_v3_v3_db(v1, share->gloc);
if (!lineart_triangle_2v_intersection_math(sv1, sv2, t2, 0, v2)) {
lineart_triangle_get_other_verts(t2, share, &sv1, &sv2);
@@ -3403,8 +3403,8 @@ static bool lineart_triangle_intersect_math(LineartTriangle *tri,
}
static void lineart_add_isec_thread(LineartIsecThread *th,
- const float *v1,
- const float *v2,
+ const double *v1,
+ const double *v2,
LineartTriangle *tri1,
LineartTriangle *tri2)
{
@@ -3418,8 +3418,8 @@ static void lineart_add_isec_thread(LineartIsecThread *th,
th->array = new_array;
}
LineartIsecSingle *is = &th->array[th->current];
- copy_v3_v3(is->v1, v1);
- copy_v3_v3(is->v2, v2);
+ copy_v3fl_v3db(is->v1, v1);
+ copy_v3fl_v3db(is->v2, v2);
is->tri1 = tri1;
is->tri2 = tri2;
th->current++;
@@ -3550,7 +3550,7 @@ static void lineart_triangle_intersect_in_bounding_area(LineartTriangle *tri,
/* If we do need to compute intersection, then finally do it. */
- float iv1[3], iv2[3];
+ double iv1[3], iv2[3];
if (lineart_triangle_intersect_math(tri, testing_triangle, iv1, iv2)) {
lineart_add_isec_thread(th, iv1, iv2, tri, testing_triangle);
}
More information about the Bf-blender-cvs
mailing list