diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-18 12:51:02 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-22 16:12:03 +0300 |
commit | 7a4b784909b3d31f318f92ddcfd534223f3e8412 (patch) | |
tree | 81893956b57c5da84f2c610c0f5a90fab5a1b793 /source/blender/modifiers | |
parent | fffe34531d0ed4b858afcabe4ab38b1b9698ed70 (diff) |
Subsurf: Move away from using scene from modifier data
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/intern/MOD_shrinkwrap.c | 8 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_subsurf.c | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index bc214b39172..72c1c1552c7 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -48,6 +48,8 @@ #include "BKE_modifier.h" #include "BKE_shrinkwrap.h" +#include "DEG_depsgraph_query.h" + #include "MOD_util.h" static bool dependsOnNormals(ModifierData *md); @@ -103,6 +105,7 @@ static void deformVerts( float (*vertexCos)[3], int numVerts) { + struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph); Mesh *mesh_src = mesh; if (mesh_src == NULL) { @@ -111,7 +114,7 @@ static void deformVerts( BLI_assert(mesh_src->totvert == numVerts); - shrinkwrapModifier_deform((ShrinkwrapModifierData *)md, ctx->object, mesh_src, vertexCos, numVerts); + shrinkwrapModifier_deform((ShrinkwrapModifierData *)md, scene, ctx->object, mesh_src, vertexCos, numVerts); } static void deformVertsEM( @@ -119,6 +122,7 @@ static void deformVertsEM( struct BMEditMesh *editData, Mesh *mesh, float (*vertexCos)[3], int numVerts) { + struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph); Mesh *mesh_src = mesh; if (mesh_src == NULL) { @@ -127,7 +131,7 @@ static void deformVertsEM( BLI_assert(mesh_src->totvert == numVerts); - shrinkwrapModifier_deform((ShrinkwrapModifierData *)md, ctx->object, mesh_src, vertexCos, numVerts); + shrinkwrapModifier_deform((ShrinkwrapModifierData *)md, scene, ctx->object, mesh_src, vertexCos, numVerts); if (!mesh) { BKE_id_free(NULL, mesh_src); diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index b5ea8306368..63c6f16449d 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -104,6 +104,7 @@ static DerivedMesh *applyModifier( DerivedMesh *derivedData) { SubsurfModifierData *smd = (SubsurfModifierData *) md; + struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph); SubsurfFlags subsurf_flags = 0; DerivedMesh *result; const bool useRenderParams = (ctx->flag & MOD_APPLY_RENDER) != 0; @@ -146,7 +147,7 @@ static DerivedMesh *applyModifier( } #endif - result = subsurf_make_derived_from_derived(derivedData, smd, NULL, subsurf_flags); + result = subsurf_make_derived_from_derived(derivedData, smd, scene, NULL, subsurf_flags); result->cd_flag = derivedData->cd_flag; { @@ -168,6 +169,7 @@ static DerivedMesh *applyModifierEM( DerivedMesh *derivedData) { SubsurfModifierData *smd = (SubsurfModifierData *) md; + struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph); DerivedMesh *result; /* 'orco' using editmode flags would cause cache to be used twice in editbmesh_calc_modifiers */ SubsurfFlags ss_flags = (ctx->flag & MOD_APPLY_ORCO) ? 0 : (SUBSURF_FOR_EDIT_MODE | SUBSURF_IN_EDIT_MODE); @@ -178,7 +180,7 @@ static DerivedMesh *applyModifierEM( } #endif - result = subsurf_make_derived_from_derived(derivedData, smd, NULL, ss_flags); + result = subsurf_make_derived_from_derived(derivedData, smd, scene, NULL, ss_flags); return result; } |