Depsgraph: remove EvaluationContext, pass Depsgraph instead.
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
This commit is contained in:
@@ -99,7 +99,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Lattice Modifier");
|
||||
}
|
||||
|
||||
static void deformVerts(ModifierData *md, const struct EvaluationContext *UNUSED(eval_ctx),
|
||||
static void deformVerts(ModifierData *md, struct Depsgraph *UNUSED(depsgraph),
|
||||
Object *ob, DerivedMesh *derivedData,
|
||||
float (*vertexCos)[3],
|
||||
int numVerts,
|
||||
@@ -115,14 +115,14 @@ static void deformVerts(ModifierData *md, const struct EvaluationContext *UNUSED
|
||||
}
|
||||
|
||||
static void deformVertsEM(
|
||||
ModifierData *md, const struct EvaluationContext *eval_ctx, Object *ob, struct BMEditMesh *em,
|
||||
ModifierData *md, struct Depsgraph *depsgraph, Object *ob, struct BMEditMesh *em,
|
||||
DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
|
||||
{
|
||||
DerivedMesh *dm = derivedData;
|
||||
|
||||
if (!derivedData) dm = CDDM_from_editbmesh(em, false, false);
|
||||
|
||||
deformVerts(md, eval_ctx, ob, dm, vertexCos, numVerts, 0);
|
||||
deformVerts(md, depsgraph, ob, dm, vertexCos, numVerts, 0);
|
||||
|
||||
if (!derivedData) dm->release(dm);
|
||||
}
|
||||
|
Reference in New Issue
Block a user