Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-06-22 16:36:29 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-06-22 17:00:06 +0300
commit0b988a0aadb7646277757e11eba31c3e39a88f7f (patch)
tree35fc0079f23f1a7a50cb31819b4c7a4e6965a9c6 /source/blender/nodes
parent8b633745ffd0403fd961bef35184f2c47cc923ca (diff)
Nodes: show shader -> other socket type as invalid link
Diffstat (limited to 'source/blender/nodes')
-rw-r--r--source/blender/nodes/shader/node_shader_tree.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c
index 05ca9394786..8af570aea08 100644
--- a/source/blender/nodes/shader/node_shader_tree.c
+++ b/source/blender/nodes/shader/node_shader_tree.c
@@ -172,6 +172,16 @@ static void update(bNodeTree *ntree)
}
}
+static bool shader_validate_link(bNodeTree *UNUSED(ntree), bNodeLink *link)
+{
+ /* Can't connect shader into other socket types, other way around is fine
+ * since it will be interpreted as emission. */
+ if (link->fromsock->type == SOCK_SHADER) {
+ return (link->tosock->type == SOCK_SHADER);
+ }
+ return true;
+}
+
bNodeTreeType *ntreeType_Shader;
void register_node_tree_type_sh(void)
@@ -192,6 +202,7 @@ void register_node_tree_type_sh(void)
tt->update = update;
tt->poll = shader_tree_poll;
tt->get_from_context = shader_get_from_context;
+ tt->validate_link = shader_validate_link;
tt->ext.srna = &RNA_ShaderNodeTree;