diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 0eeef1840b6..a6eb40cc6b8 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -1712,12 +1712,17 @@ void DepsgraphRelationBuilder::build_world(World *world) /* animation */ build_animdata(&world->id); build_parameters(&world->id); + + /* Animated / driven parameters (without nodetree). */ + OperationKey world_key(&world->id, NodeType::SHADING, OperationCode::WORLD_UPDATE); + ComponentKey parameters_key(&world->id, NodeType::PARAMETERS); + add_relation(parameters_key, world_key, "World's parameters"); + /* world's nodetree */ if (world->nodetree != nullptr) { build_nodetree(world->nodetree); OperationKey ntree_key( &world->nodetree->id, NodeType::SHADING, OperationCode::MATERIAL_UPDATE); - OperationKey world_key(&world->id, NodeType::SHADING, OperationCode::WORLD_UPDATE); add_relation(ntree_key, world_key, "World's NTree"); build_nested_nodetree(&world->id, world->nodetree); } @@ -2470,12 +2475,17 @@ void DepsgraphRelationBuilder::build_material(Material *material) /* animation */ build_animdata(&material->id); build_parameters(&material->id); + + /* Animated / driven parameters (without nodetree). */ + OperationKey material_key(&material->id, NodeType::SHADING, OperationCode::MATERIAL_UPDATE); + ComponentKey parameters_key(&material->id, NodeType::PARAMETERS); + add_relation(parameters_key, material_key, "Material's paramters"); + /* material's nodetree */ if (material->nodetree != nullptr) { build_nodetree(material->nodetree); OperationKey ntree_key( &material->nodetree->id, NodeType::SHADING, OperationCode::MATERIAL_UPDATE); - OperationKey material_key(&material->id, NodeType::SHADING, OperationCode::MATERIAL_UPDATE); add_relation(ntree_key, material_key, "Material's NTree"); build_nested_nodetree(&material->id, material->nodetree); }