From 9023abbf27c4efcdba3d9bd7c884680e56e4d9cb Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 26 Jan 2017 17:24:57 +0100 Subject: Depsgraph: Add placeholder function to handle objects update This way @dfelinto can do some special trickery in there. --- source/blender/blenkernel/BKE_object.h | 1 + source/blender/blenkernel/intern/object_update.c | 5 +++++ source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index cf07a178fe8..8413d266078 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -206,6 +206,7 @@ void BKE_object_eval_uber_transform(struct EvaluationContext *eval_ctx, void BKE_object_eval_uber_data(struct EvaluationContext *eval_ctx, struct Scene *scene, struct Object *ob); +void BKE_object_eval_shading(struct EvaluationContext *eval_ctx, struct Object *ob); void BKE_object_handle_data_update(struct EvaluationContext *eval_ctx, struct Scene *scene, diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c index 047de18d5b5..2e2ec00f780 100644 --- a/source/blender/blenkernel/intern/object_update.c +++ b/source/blender/blenkernel/intern/object_update.c @@ -343,3 +343,8 @@ void BKE_object_eval_uber_data(EvaluationContext *eval_ctx, ob->recalc &= ~(OB_RECALC_DATA | OB_RECALC_TIME); } + +void BKE_object_eval_shading(EvaluationContext *UNUSED(eval_ctx), Object *ob) +{ + DEBUG_PRINT("%s on %s\n", __func__, ob->id.name); +} diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 9d78b99341b..4b73dfa1ec3 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -834,8 +834,8 @@ void DepsgraphNodeBuilder::build_obdata_geom(Scene *scene, Object *ob) add_operation_node(&ob->id, DEPSNODE_TYPE_SHADING, DEPSOP_TYPE_EXEC, - NULL, - DEG_OPCODE_PLACEHOLDER, "Material Update"); + function_bind(BKE_object_eval_shading, _1, ob), + DEG_OPCODE_OPERATION, "Material Update"); } /* geometry collision */ -- cgit v1.2.3