diff options
Diffstat (limited to 'source/blender/depsgraph')
8 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 8ec8ccb3d4d..4f70e8b0806 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -895,7 +895,7 @@ void DepsgraphNodeBuilder::build_animation_images(ID *id) if (BKE_image_user_id_has_animation(id)) { ID *id_cow = get_cow_id(id); add_operation_node(id, - NodeType::ANIMATION, + NodeType::IMAGE_ANIMATION, OperationCode::IMAGE_ANIMATION, function_bind(BKE_image_user_id_eval_animation, _1, id_cow)); } diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 98864b11c4a..e45644f001f 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -1384,9 +1384,8 @@ void DepsgraphRelationBuilder::build_animation_images(ID *id) { /* TODO: can we check for existence of node for performance? */ if (BKE_image_user_id_has_animation(id)) { - OperationKey image_animation_key(id, NodeType::ANIMATION, OperationCode::IMAGE_ANIMATION); - ComponentKey cow_key(id, NodeType::COPY_ON_WRITE); - add_relation(cow_key, image_animation_key, "CoW -> Image Animation"); + OperationKey image_animation_key( + id, NodeType::IMAGE_ANIMATION, OperationCode::IMAGE_ANIMATION); TimeSourceKey time_src_key; add_relation(time_src_key, image_animation_key, "TimeSrc -> Image Animation"); } diff --git a/source/blender/depsgraph/intern/builder/deg_builder_rna.cc b/source/blender/depsgraph/intern/builder/deg_builder_rna.cc index 853f8995d68..7fb92e77adf 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_rna.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_rna.cc @@ -361,7 +361,7 @@ RNANodeIdentifier RNANodeQuery::construct_node_identifier(const PointerRNA *ptr, } else if (RNA_struct_is_a(ptr->type, &RNA_ImageUser)) { if (GS(node_identifier.id->name) == ID_NT) { - node_identifier.type = NodeType::ANIMATION; + node_identifier.type = NodeType::IMAGE_ANIMATION; node_identifier.operation_code = OperationCode::IMAGE_ANIMATION; return node_identifier; } diff --git a/source/blender/depsgraph/intern/debug/deg_debug_relations_graphviz.cc b/source/blender/depsgraph/intern/debug/deg_debug_relations_graphviz.cc index b2f2359a954..b08281b755e 100644 --- a/source/blender/depsgraph/intern/debug/deg_debug_relations_graphviz.cc +++ b/source/blender/depsgraph/intern/debug/deg_debug_relations_graphviz.cc @@ -428,6 +428,7 @@ static void deg_debug_graphviz_node(const DebugContext &ctx, const Node *node) case NodeType::SHADING_PARAMETERS: case NodeType::CACHE: case NodeType::POINT_CACHE: + case NodeType::IMAGE_ANIMATION: case NodeType::LAYER_COLLECTIONS: case NodeType::PARTICLE_SYSTEM: case NodeType::PARTICLE_SETTINGS: diff --git a/source/blender/depsgraph/intern/node/deg_node.cc b/source/blender/depsgraph/intern/node/deg_node.cc index 5002f2890ae..d95e05a6f4f 100644 --- a/source/blender/depsgraph/intern/node/deg_node.cc +++ b/source/blender/depsgraph/intern/node/deg_node.cc @@ -100,6 +100,8 @@ const char *nodeTypeAsString(NodeType type) return "CACHE"; case NodeType::POINT_CACHE: return "POINT_CACHE"; + case NodeType::IMAGE_ANIMATION: + return "IMAGE_ANIMATION"; case NodeType::BATCH_CACHE: return "BATCH_CACHE"; case NodeType::DUPLI: @@ -157,6 +159,7 @@ eDepsSceneComponentType nodeTypeToSceneComponent(NodeType type) case NodeType::PARTICLE_SETTINGS: case NodeType::SHADING_PARAMETERS: case NodeType::POINT_CACHE: + case NodeType::IMAGE_ANIMATION: case NodeType::BATCH_CACHE: case NodeType::DUPLI: case NodeType::SYNCHRONIZATION: @@ -238,6 +241,7 @@ eDepsObjectComponentType nodeTypeToObjectComponent(NodeType type) case NodeType::PARTICLE_SETTINGS: case NodeType::SHADING_PARAMETERS: case NodeType::POINT_CACHE: + case NodeType::IMAGE_ANIMATION: case NodeType::BATCH_CACHE: case NodeType::DUPLI: case NodeType::SYNCHRONIZATION: diff --git a/source/blender/depsgraph/intern/node/deg_node.h b/source/blender/depsgraph/intern/node/deg_node.h index 3878362d936..ffa37341ea6 100644 --- a/source/blender/depsgraph/intern/node/deg_node.h +++ b/source/blender/depsgraph/intern/node/deg_node.h @@ -114,6 +114,8 @@ enum class NodeType { SHADING_PARAMETERS, /* Point cache Component */ POINT_CACHE, + /* Image Animation Component */ + IMAGE_ANIMATION, /* Cache Component */ /* TODO(sergey); Verify that we really need this. */ CACHE, diff --git a/source/blender/depsgraph/intern/node/deg_node_component.cc b/source/blender/depsgraph/intern/node/deg_node_component.cc index 334f55c0942..73f9668eb5d 100644 --- a/source/blender/depsgraph/intern/node/deg_node_component.cc +++ b/source/blender/depsgraph/intern/node/deg_node_component.cc @@ -349,6 +349,7 @@ DEG_COMPONENT_NODE_DEFINE(BatchCache, BATCH_CACHE, ID_RECALC_SHADING); DEG_COMPONENT_NODE_DEFINE(Bone, BONE, ID_RECALC_GEOMETRY); DEG_COMPONENT_NODE_DEFINE(Cache, CACHE, 0); DEG_COMPONENT_NODE_DEFINE(CopyOnWrite, COPY_ON_WRITE, ID_RECALC_COPY_ON_WRITE); +DEG_COMPONENT_NODE_DEFINE(ImageAnimation, IMAGE_ANIMATION, 0); DEG_COMPONENT_NODE_DEFINE(Geometry, GEOMETRY, ID_RECALC_GEOMETRY); DEG_COMPONENT_NODE_DEFINE(LayerCollections, LAYER_COLLECTIONS, 0); DEG_COMPONENT_NODE_DEFINE(Parameters, PARAMETERS, 0); @@ -383,6 +384,7 @@ void deg_register_component_depsnodes() register_node_typeinfo(&DNTI_PARTICLE_SYSTEM); register_node_typeinfo(&DNTI_PARTICLE_SETTINGS); register_node_typeinfo(&DNTI_POINT_CACHE); + register_node_typeinfo(&DNTI_IMAGE_ANIMATION); register_node_typeinfo(&DNTI_PROXY); register_node_typeinfo(&DNTI_EVAL_POSE); register_node_typeinfo(&DNTI_SEQUENCER); diff --git a/source/blender/depsgraph/intern/node/deg_node_component.h b/source/blender/depsgraph/intern/node/deg_node_component.h index c25f0bbd7aa..6a2157fa3b2 100644 --- a/source/blender/depsgraph/intern/node/deg_node_component.h +++ b/source/blender/depsgraph/intern/node/deg_node_component.h @@ -172,6 +172,7 @@ DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE(BatchCache); DEG_COMPONENT_NODE_DECLARE_GENERIC(Cache); DEG_COMPONENT_NODE_DECLARE_GENERIC(CopyOnWrite); DEG_COMPONENT_NODE_DECLARE_GENERIC(Geometry); +DEG_COMPONENT_NODE_DECLARE_GENERIC(ImageAnimation); DEG_COMPONENT_NODE_DECLARE_GENERIC(LayerCollections); DEG_COMPONENT_NODE_DECLARE_GENERIC(Parameters); DEG_COMPONENT_NODE_DECLARE_GENERIC(Particles); |