[Bf-blender-cvs] [d1768b616d5] greasepencil-object: Apply lattice modifer in each frame
Antonio Vazquez
noreply at git.blender.org
Sun Sep 10 10:03:02 CEST 2017
Commit: d1768b616d5e64bb3fa4c53afb0a2189c2fabe79
Author: Antonio Vazquez
Date: Sat Sep 9 16:17:06 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rBd1768b616d5e64bb3fa4c53afb0a2189c2fabe79
Apply lattice modifer in each frame
The lattice must be evaluated in each frame, not in the location of the first frame only.
===================================================================
M source/blender/modifiers/intern/MOD_gpencillattice.c
===================================================================
diff --git a/source/blender/modifiers/intern/MOD_gpencillattice.c b/source/blender/modifiers/intern/MOD_gpencillattice.c
index 6345712361e..5a5c6130368 100644
--- a/source/blender/modifiers/intern/MOD_gpencillattice.c
+++ b/source/blender/modifiers/intern/MOD_gpencillattice.c
@@ -41,6 +41,8 @@
#include "BKE_gpencil.h"
#include "BKE_lattice.h"
#include "BKE_library_query.h"
+#include "BKE_scene.h"
+#include "BKE_main.h"
#include "MEM_guardedalloc.h"
@@ -69,13 +71,14 @@ static void copyData(ModifierData *md, ModifierData *target)
modifier_copyData_generic(md, target);
}
-static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationContext *UNUSED(eval_ctx), Object *ob,
+static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationContext *eval_ctx, Object *ob,
DerivedMesh *UNUSED(dm),
ModifierApplyFlag UNUSED(flag))
{
GpencilLatticeModifierData *mmd = (GpencilLatticeModifierData *)md;
LatticeDeformData *ldata = NULL;
Scene *scene = CTX_data_scene(mmd->C);
+ Main *bmain = CTX_data_main(mmd->C);
bGPdata *gpd;
Object *latob = NULL;
int oldframe = CFRA;
@@ -93,7 +96,7 @@ static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationConte
for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
CFRA = gpf->framenum;
- DEG_id_tag_update(&latob->id, OB_RECALC_ALL);
+ BKE_scene_update_for_newframe(eval_ctx, bmain, scene);
/* recalculate lattice data */
BKE_gpencil_lattice_init(ob);
More information about the Bf-blender-cvs
mailing list