[Bf-blender-cvs] [ad072be] object_nodes: Merge branch 'master' into object_nodes
Lukas Tönne
noreply at git.blender.org
Sun Dec 27 14:21:24 CET 2015
Commit: ad072beb6800a5a2e9b875b32e0cbb34ac068066
Author: Lukas Tönne
Date: Sun Dec 27 14:21:03 2015 +0100
Branches: object_nodes
https://developer.blender.org/rBad072beb6800a5a2e9b875b32e0cbb34ac068066
Merge branch 'master' into object_nodes
Conflicts:
source/blender/depsgraph/intern/depsgraph_build_nodes.cc
source/blender/depsgraph/intern/depsgraph_build_relations.cc
===================================================================
===================================================================
diff --cc source/blender/depsgraph/intern/depsgraph_build_nodes.cc
index ce52360,87af9c8..308649a
--- a/source/blender/depsgraph/intern/depsgraph_build_nodes.cc
+++ b/source/blender/depsgraph/intern/depsgraph_build_nodes.cc
@@@ -1199,23 -1167,10 +1199,23 @@@ void DepsgraphNodeBuilder::build_textur
void DepsgraphNodeBuilder::build_texture(DepsNode *owner_node, Tex *tex)
{
ID *tex_id = &tex->id;
- if (tex_id->flag & LIB_DOIT) {
+ if (tex_id->tag & LIB_TAG_DOIT) {
return;
}
- tex_id->flag |= LIB_DOIT;
+ tex_id->tag |= LIB_TAG_DOIT;
+
+ /* texture itself */
+ add_id_node(tex_id);
+
+ /* Parameters for drivers. */
+ add_operation_node(tex_id, DEPSNODE_TYPE_PARAMETERS, DEPSOP_TYPE_INIT,
+ NULL,
+ DEG_OPCODE_TEXTURE_INIT);
+
+ add_operation_node(tex_id, DEPSNODE_TYPE_PARAMETERS, DEPSOP_TYPE_POST,
+ function_bind(BKE_texture_invalidate, _1, tex),
+ DEG_OPCODE_TEXTURE_INVALIDATE);
+
/* texture itself */
build_animdata(tex_id);
/* texture's nodetree */
diff --cc source/blender/depsgraph/intern/depsgraph_build_relations.cc
index 3dc80ad,b0eed96..ccf15c6
--- a/source/blender/depsgraph/intern/depsgraph_build_relations.cc
+++ b/source/blender/depsgraph/intern/depsgraph_build_relations.cc
@@@ -1927,33 -1840,16 +1927,33 @@@ void DepsgraphRelationBuilder::build_ma
void DepsgraphRelationBuilder::build_texture(ID *owner, Tex *tex)
{
ID *tex_id = &tex->id;
- if (tex_id->flag & LIB_DOIT) {
+ if (tex_id->tag & LIB_TAG_DOIT) {
return;
}
- tex_id->flag |= LIB_DOIT;
+ tex_id->tag |= LIB_TAG_DOIT;
-
+
+ ComponentKey parameters_key(tex_id, DEPSNODE_TYPE_PARAMETERS);
+
+ OperationKey eval_key(tex_id, DEPSNODE_TYPE_PARAMETERS, DEG_OPCODE_TEXTURE_INIT);
+ OperationKey invalidate_key(tex_id, DEPSNODE_TYPE_PARAMETERS, DEG_OPCODE_TEXTURE_INVALIDATE);
+ add_relation(eval_key, invalidate_key,
+ DEPSREL_TYPE_OPERATION, "Texture Eval");
+
/* texture itself */
- build_animdata(tex_id);
-
- /* texture's nodetree */
- build_nodetree(owner, tex->nodetree);
+ build_animdata(owner);
+
+ if (needs_animdata_node(tex_id)) {
+ ComponentKey animation_key(tex_id, DEPSNODE_TYPE_ANIMATION);
+ add_relation(animation_key, parameters_key,
+ DEPSREL_TYPE_COMPONENT_ORDER, "Texture Parameters");
+ }
+
+ if (tex->nodetree) {
+ build_nodetree(owner, tex->nodetree);
+ ComponentKey nodetree_key(&tex->nodetree->id, DEPSNODE_TYPE_PARAMETERS);
+ add_relation(nodetree_key, parameters_key,
+ DEPSREL_TYPE_COMPONENT_ORDER, "NTree->Texture Parameters");
+ }
}
/* Texture-stack attached to some shading datablock */
More information about the Bf-blender-cvs
mailing list