diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2022-03-14 18:10:03 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2022-03-14 18:13:59 +0300 |
commit | cff6eb65804da3a06bde3c9152bec26e01a24992 (patch) | |
tree | b3d49cf7281568000695116fe990828660ed48c0 /source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c | |
parent | 8c4ddd5dde3a5f5ae0375c71e379e0fac287e3e6 (diff) |
Cleanup: Remove duplicate Bake modifier code
This patch remove all duplicate code for the same Bake modifier logic.
Still some modifiers need custom bake functions and cannot use this generic bake.
Diffstat (limited to 'source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c')
-rw-r--r-- | source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c index 4ef48680029..f5ecce69129 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c @@ -42,6 +42,7 @@ #include "MOD_gpencil_modifiertypes.h" #include "MOD_gpencil_ui_common.h" +#include "MOD_gpencil_util.h" #include "DEG_depsgraph.h" #include "DEG_depsgraph_build.h" @@ -118,35 +119,14 @@ static void bakeModifier(Main *UNUSED(bmain), GpencilModifierData *md, Object *ob) { - Scene *scene = DEG_get_evaluated_scene(depsgraph); Object *object_eval = DEG_get_evaluated_object(depsgraph, ob); ArmatureGpencilModifierData *mmd = (ArmatureGpencilModifierData *)md; GpencilModifierData *md_eval = BKE_gpencil_modifiers_findby_name(object_eval, md->name); - bGPdata *gpd = (bGPdata *)ob->data; - int oldframe = (int)DEG_get_ctime(depsgraph); if (mmd->object == NULL) { return; } - - LISTBASE_FOREACH (bGPDlayer *, gpl, &gpd->layers) { - LISTBASE_FOREACH (bGPDframe *, gpf, &gpl->frames) { - /* apply armature effects on this frame - * NOTE: this assumes that we don't want armature animation on non-keyframed frames - */ - CFRA = gpf->framenum; - BKE_scene_graph_update_for_newframe(depsgraph); - - /* compute armature effects on this frame */ - LISTBASE_FOREACH (bGPDstroke *, gps, &gpf->strokes) { - deformStroke(md_eval, depsgraph, object_eval, gpl, gpf, gps); - } - } - } - - /* return frame state and DB to original state */ - CFRA = oldframe; - BKE_scene_graph_update_for_newframe(depsgraph); + generic_bake_deform_stroke(depsgraph, md_eval, object_eval, true, deformStroke); } static bool isDisabled(GpencilModifierData *md, int UNUSED(userRenderParams)) |