[Bf-blender-cvs] [b816ac5b59d] temp-lineart-contained: LineArt: Crease support for new loading

YimingWu noreply at git.blender.org
Sun Apr 3 12:04:13 CEST 2022


Commit: b816ac5b59db67e9b400bf193791bde6092fb426
Author: YimingWu
Date:   Thu Mar 31 17:14:51 2022 +0800
Branches: temp-lineart-contained
https://developer.blender.org/rBb816ac5b59db67e9b400bf193791bde6092fb426

LineArt: Crease support for new loading

===================================================================

M	release/datafiles/locale
M	release/scripts/addons
M	source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c

===================================================================

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 30b4ef98b5d..716dc02ec30 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 30b4ef98b5d044bf793e105d2e020a9cd8a55a61
+Subproject commit 716dc02ec30c0810513f7b4adc4ae865ae50c4e6
diff --git a/release/scripts/addons b/release/scripts/addons
index 0f6165054bb..f6d72972320 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 0f6165054bb2c802156e8fcd1d2d55c501455bc2
+Subproject commit f6d72972320a891b00d3d9e4519f89f24963bae6
diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
index 22708353ae4..69b4eb0efc5 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
@@ -1540,6 +1540,7 @@ typedef struct EdgeFeatData {
   LineartTriangle *tri_array;
   LineartVert *v_array;
   float crease_threshold;
+  float **poly_normals;
   bool use_auto_smooth;
 } EdgeFeatData;
 
@@ -1600,25 +1601,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;
 
@@ -2163,6 +2165,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;
@@ -2318,6 +2322,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,



More information about the Bf-blender-cvs mailing list