Commit: 0d5d55428731c15732e107241de5b0c09d52edcb
Author: YimingWu
Date: Tue Apr 12 19:09:51 2022 +0800
Branches: lineart-object-load
https://developer.blender.org/rB0d5d55428731c15732e107241de5b0c09d52edcb
LineArt: Crease support for new loading
===================================================================
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 981dd5105c4..c263f69ff00 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
@@ -1496,6 +1496,7 @@ typedef struct EdgeFeatData {
LineartTriangle *tri_array;
LineartVert *v_array;
float crease_threshold;
+ float **poly_normals;
bool use_auto_smooth;
} EdgeFeatData;
@@ -1556,25 +1557,26 @@ static void
lineart_identify_mlooptri_feature_edges(void *__restrict userdata,
edge_flag_result |= LRT_EDGE_FLAG_CONTOUR;
}
- // if (rb->use_crease) {
- // if (rb->sharp_as_crease && !BM_elem_flag_test(e, BM_ELEM_SMOOTH)) {
- // edge_flag_result |= LRT_EDGE_FLAG_CREASE;
- // }
- // else {
- // bool do_crease = true;
- // if (!rb->force_crease && !use_auto_smooth &&
- // (BM_elem_flag_test(ll->f, BM_ELEM_SMOOTH) &&
BM_elem_flag_test(lr->f,
- // BM_ELEM_SMOOTH))) {
- // do_crease = false;
- // }
- // if (do_crease && (dot_v3v3_db(tri1->gn, tri2->gn) <
crease_threshold)) {
- // edge_flag_result |= LRT_EDGE_FLAG_CREASE;
- // }
- // }
- // }
Mesh *me = e_feat_data->me;
const MLoopTri *mlooptri = e_feat_data->mlooptri;
+ if (rb->use_crease) {
+ // if (rb->sharp_as_crease && !BM_elem_flag_test(e, BM_ELEM_SMOOTH)) {
+ // edge_flag_result |= LRT_EDGE_FLAG_CREASE;
+ //}
+ // else {
+ bool do_crease = true;
+ if (!rb->force_crease && !e_feat_data->use_auto_smooth &&
+ (me->mpoly[mlooptri[e_f_pair->f1].poly].flag & ME_SMOOTH) &&
+ (me->mpoly[mlooptri[e_f_pair->f2].poly].flag & ME_SMOOTH)) {
+ do_crease = false;
+ }
+ if (do_crease && (dot_v3v3_db(tri1->gn, tri2->gn) <
e_feat_data->crease_threshold)) {
+ edge_flag_result |= LRT_EDGE_FLAG_CREASE;
+ }
+ //}
+ }
+
int mat1 = me->mpoly[mlooptri[e_f_pair->f1].poly].mat_nr;
int mat2 = me->mpoly[mlooptri[e_f_pair->f2].poly].mat_nr;
@@ -2084,6 +2086,8 @@ static void
lineart_geometry_object_load_no_bmesh(LineartObjectInfo *ob_info,
const MLoopTri *mlooptri = BKE_mesh_runtime_looptri_ensure(me);
const int tot_tri = BKE_mesh_runtime_looptri_len(me);
+ // float **normals = BKE_mesh_poly_normals_ensure(me);
+
// TODO
if (0) {
MEdge *medge = NULL;
@@ -2239,6 +2243,7 @@ static void
lineart_geometry_object_load_no_bmesh(LineartObjectInfo *ob_info,
edge_feat_data.v_array = la_v_arr;
edge_feat_data.crease_threshold = use_crease;
edge_feat_data.use_auto_smooth = use_auto_smooth;
+ // edge_feat_data.poly_normals = normals;
BLI_task_parallel_range(0,
edge_pair_arr_len,
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs