diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-06-12 17:57:56 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-06-12 17:58:34 +0300 |
commit | 04c54dec44568a4903b5f8e29cad4b3e466fb6e0 (patch) | |
tree | 58fa0198612b2e74464532ccdfea1bf938de40a6 /source/blender | |
parent | db5c8c0393ba94f7ff523e1079ce4642fee661a8 (diff) |
Fix T57489: Texture coordinate object reference not updating in Eevee
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 524a6c16a39..fbcd0a3d745 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -2124,15 +2124,25 @@ void DepsgraphRelationBuilder::build_nodetree(bNodeTree *ntree) ID_Type id_type = GS(id->name); if (id_type == ID_MA) { build_material((Material *)bnode->id); + ComponentKey material_key(id, NodeType::SHADING); + add_relation(material_key, shading_key, "Material -> Node"); } else if (id_type == ID_TE) { build_texture((Tex *)bnode->id); + ComponentKey texture_key(id, NodeType::GENERIC_DATABLOCK); + add_relation(texture_key, shading_key, "Texture -> Node"); } else if (id_type == ID_IM) { build_image((Image *)bnode->id); + ComponentKey image_key(id, NodeType::GENERIC_DATABLOCK); + add_relation(image_key, shading_key, "Image -> Node"); } else if (id_type == ID_OB) { build_object(NULL, (Object *)id); + ComponentKey object_transform_key(id, NodeType::TRANSFORM); + ComponentKey object_geometry_key(id, NodeType::GEOMETRY); + add_relation(object_transform_key, shading_key, "Object Transform -> Node"); + add_relation(object_geometry_key, shading_key, "Object Geometry -> Node"); } else if (id_type == ID_SCE) { Scene *node_scene = (Scene *)id; @@ -2150,9 +2160,13 @@ void DepsgraphRelationBuilder::build_nodetree(bNodeTree *ntree) } else if (id_type == ID_MSK) { build_mask((Mask *)id); + OperationKey mask_key(id, NodeType::PARAMETERS, OperationCode::MASK_EVAL); + add_relation(mask_key, shading_key, "Mask -> Node"); } else if (id_type == ID_MC) { build_movieclip((MovieClip *)id); + OperationKey clip_key(id, NodeType::PARAMETERS, OperationCode::MOVIECLIP_EVAL); + add_relation(clip_key, shading_key, "Clip -> Node"); } else if (ELEM(bnode->type, NODE_GROUP, NODE_CUSTOM_GROUP)) { bNodeTree *group_ntree = (bNodeTree *)id; |