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); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs