[Bf-blender-cvs] [257f620f753] lanpr-under-gp: LineArt: Use global vert index to detect share_edge
YimingWu
noreply at git.blender.org
Thu Oct 22 07:07:25 CEST 2020
Commit: 257f620f75393a7a50c20f103fcf2e0c1b8421d1
Author: YimingWu
Date: Thu Oct 22 13:07:14 2020 +0800
Branches: lanpr-under-gp
https://developer.blender.org/rB257f620f75393a7a50c20f103fcf2e0c1b8421d1
LineArt: Use global vert index to detect share_edge
===================================================================
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 7e3cf0f715a..68c892af42a 100644
--- a/source/blender/editors/lineart/lineart_cpu.c
+++ b/source/blender/editors/lineart/lineart_cpu.c
@@ -1465,7 +1465,8 @@ static void lineart_geometry_object_load(Depsgraph *dg,
double (*mv_mat)[4],
double (*mvp_mat)[4],
LineartRenderBuffer *rb,
- int override_usage)
+ int override_usage,
+ int *global_vindex)
{
BMesh *bm;
BMVert *v;
@@ -1483,7 +1484,7 @@ static void lineart_geometry_object_load(Depsgraph *dg,
FreestyleEdge *fe;
Object *orig_ob;
int CanFindFreestyle = 0;
- size_t i;
+ int i, global_i = (*global_vindex);
Mesh *use_mesh;
float use_crease = 0;
@@ -1604,8 +1605,9 @@ static void lineart_geometry_object_load(Depsgraph *dg,
for (i = 0; i < bm->totvert; i++) {
v = BM_vert_at_index(bm, i);
lineart_vert_transform(v, i, orv, new_mv, new_mvp);
- orv[i].index = i;
+ orv[i].index = i + global_i;
}
+ (*global_vindex) += bm->totvert;
rt = ort;
for (i = 0; i < bm->totface; i++) {
@@ -1807,10 +1809,12 @@ static void lineart_main_load_geometries(Depsgraph *depsgraph,
flags |= DEG_ITER_OBJECT_FLAG_DUPLI;
}
+ int global_i = 0;
+
DEG_OBJECT_ITER_BEGIN (depsgraph, ob, flags) {
int usage = ED_lineart_object_collection_usage_check(scene->master_collection, ob);
- lineart_geometry_object_load(depsgraph, ob, view, proj, rb, usage);
+ lineart_geometry_object_load(depsgraph, ob, view, proj, rb, usage, &global_i);
if (ED_lineart_calculation_flag_check(LRT_RENDER_CANCELING)) {
return;
More information about the Bf-blender-cvs
mailing list