[Bf-blender-cvs] [59e82df1277] lineart-fn-cached: LineArt: clean up

YimingWu noreply at git.blender.org
Tue Jun 15 14:09:23 CEST 2021


Commit: 59e82df1277c3b702052336171141e0b8b4e39ee
Author: YimingWu
Date:   Mon Jun 14 21:45:17 2021 +0800
Branches: lineart-fn-cached
https://developer.blender.org/rB59e82df1277c3b702052336171141e0b8b4e39ee

LineArt: clean up

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

M	source/blender/blenkernel/BKE_gpencil_modifier.h
M	source/blender/blenkernel/intern/gpencil_modifier.c
M	source/blender/gpencil_modifiers/intern/lineart/MOD_lineart.h
M	source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
M	source/blender/makesdna/DNA_gpencil_modifier_types.h
M	source/blender/makesrna/intern/rna_gpencil_modifier.c

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

diff --git a/source/blender/blenkernel/BKE_gpencil_modifier.h b/source/blender/blenkernel/BKE_gpencil_modifier.h
index 80d632ca9e2..074453cbd50 100644
--- a/source/blender/blenkernel/BKE_gpencil_modifier.h
+++ b/source/blender/blenkernel/BKE_gpencil_modifier.h
@@ -303,8 +303,8 @@ typedef struct GpencilLineartLimitInfo {
 void BKE_gpencil_get_lineart_modifier_limits(struct Object *ob,
                                              struct GpencilLineartLimitInfo *info);
 
-void BKE_gpencil_set_lineart_global_limits(struct GpencilModifierData *md,
-                                           struct GpencilLineartLimitInfo *info);
+void BKE_gpencil_set_lineart_modifier_limits(struct GpencilModifierData *md,
+                                             struct GpencilLineartLimitInfo *info);
 bool BKE_gpencil_is_first_lineart_in_stack(struct Object *ob, struct GpencilModifierData *md);
 
 void BKE_gpencil_lattice_init(struct Object *ob);
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index f9a91268e09..a70fd935046 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -216,8 +216,8 @@ void BKE_gpencil_get_lineart_modifier_limits(Object *ob, struct GpencilLineartLi
   }
 }
 
-void BKE_gpencil_set_lineart_global_limits(GpencilModifierData *md,
-                                           struct GpencilLineartLimitInfo *info)
+void BKE_gpencil_set_lineart_modifier_limits(GpencilModifierData *md,
+                                             struct GpencilLineartLimitInfo *info)
 {
   BLI_assert(md->type == eGpencilModifierType_Lineart);
   LineartGpencilModifierData *lmd = (LineartGpencilModifierData *)md;
@@ -826,7 +826,7 @@ void BKE_gpencil_modifiers_calc(Depsgraph *depsgraph, Scene *scene, Object *ob)
       }
 
       if (md->type == eGpencilModifierType_Lineart) {
-        BKE_gpencil_set_lineart_global_limits(md, &info);
+        BKE_gpencil_set_lineart_modifier_limits(md, &info);
       }
 
       /* Apply geometry modifiers (add new geometry). */
diff --git a/source/blender/gpencil_modifiers/intern/lineart/MOD_lineart.h b/source/blender/gpencil_modifiers/intern/lineart/MOD_lineart.h
index e9d6460f0a4..b6175762bbe 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/MOD_lineart.h
+++ b/source/blender/gpencil_modifiers/intern/lineart/MOD_lineart.h
@@ -250,8 +250,8 @@ typedef struct LineartRenderBuffer {
   ListBase wasted_cuts;
   SpinLock lock_cuts;
 
-  /* This is just a reference to LineartCache::chain_data_pool, which is not cleared after line art
-   * completes which serves as a cache. */
+  /* This is just a pointer to LineartCache::chain_data_pool, which acts as a cache for line
+   * chains. */
   LineartStaticMemPool *chain_data_pool;
 
   /*  Render status */
@@ -318,12 +318,10 @@ typedef struct LineartCache {
    * chains will still be available. */
   LineartStaticMemPool chain_data_pool;
 
-  /** A copy of rb->Chains after calculation is done, then we can destroy rb. */
+  /** A copy of rb->chains so we have that data available after rb has been destroyed. */
   ListBase chains;
 
-  /** Cache only contains edge types specified in this variable.
-   * TODO: it's a fixed value (LRT_EDGE_FLAG_ALL_TYPE) right now, allow further selections in the
-   * future. */
+  /** Cache only contains edge types specified in this variable. */
   char rb_edge_types;
 } LineartCache;
 
diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
index 495c7d048f2..02a52c40bc0 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
@@ -200,7 +200,7 @@ static bool lineart_gpencil_bake_single_target(LineartBakeJob *bj, Object *ob, i
     if (md->type != eGpencilModifierType_Lineart) {
       continue;
     }
-    BKE_gpencil_set_lineart_global_limits(md, &info);
+    BKE_gpencil_set_lineart_modifier_limits(md, &info);
     if (bake_strokes(ob, bj->dg, &lc, md, frame)) {
       touched = true;
     }
diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index 7e7a84cccb2..f38e30a17d1 100644
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@ -936,14 +936,15 @@ typedef struct LineartGpencilModifierData {
 
   /* Runtime data. */
 
-  /* Because we only do calculation once per modifier stack, so we need global override values for
-   * line art to compute as much data as possible. */
+  /* Because we can potentially only compute features lines once per modifier stack (Use Cache), we
+   * need to have these override values to ensure that we have the data we need is computed and
+   * stored in the cache. */
   char level_start_override;
   char level_end_override;
   short edge_types_override;
 
   struct LineartCache *cache;
-  /* Keep render buffer so we can call destroy from ModifierData. */
+  /* Keep a pointer to the render buffer so we can call destroy from ModifierData. */
   struct LineartRenderBuffer *render_buffer_onetime;
 
 } LineartGpencilModifierData;
diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c
index 3bce28e7e3d..76dbbf5bfbd 100644
--- a/source/blender/makesrna/intern/rna_gpencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c
@@ -2934,8 +2934,8 @@ static void rna_def_modifier_gpencillineart(BlenderRNA *brna)
   RNA_def_property_boolean_sdna(prop, NULL, "flags", LRT_GPENCIL_USE_CACHE);
   RNA_def_property_ui_text(prop,
                            "Use Cached Result",
-                           "Use line art cache from the configuration in the first line art "
-                           "modifier instead of running line art once again");
+                           "Use cached line art data from the first line art modifier in the "
+                           "stack. Certain settings will be unavailable when using cached data.");
   RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
 
   prop = RNA_def_property(srna, "thickness", PROP_INT, PROP_NONE);



More information about the Bf-blender-cvs mailing list