diff options
Diffstat (limited to 'source/blender/nodes/shader')
-rw-r--r-- | source/blender/nodes/shader/node_shader_tree.c | 12 | ||||
-rw-r--r-- | source/blender/nodes/shader/nodes/node_shader_mix_shader.c | 2 | ||||
-rw-r--r-- | source/blender/nodes/shader/nodes/node_shader_value.c | 2 |
3 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index 68846255983..50ef122fe60 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -80,15 +80,14 @@ static void shader_get_from_context(const bContext *C, bNodeTreeType *UNUSED(tre if (snode->shaderfrom == SNODE_SHADER_OBJECT) { if (ob) { + *r_from = &ob->id; if (ob->type == OB_LAMP) { - *r_from = &ob->id; *r_id = ob->data; *r_ntree = ((Lamp *)ob->data)->nodetree; } else { Material *ma = give_current_material(ob, ob->actcol); if (ma) { - *r_from = &ob->id; *r_id = &ma->id; *r_ntree = ma->nodetree; } @@ -138,8 +137,14 @@ static void localize(bNodeTree *localtree, bNodeTree *UNUSED(ntree)) } } -static void local_sync(bNodeTree *UNUSED(localtree), bNodeTree *UNUSED(ntree)) +static void local_sync(bNodeTree *localtree, bNodeTree *ntree) { + BKE_node_preview_sync_tree(ntree, localtree); +} + +static void local_merge(bNodeTree *localtree, bNodeTree *ntree) +{ + BKE_node_preview_merge_tree(ntree, localtree, true); } static void update(bNodeTree *ntree) @@ -169,6 +174,7 @@ void register_node_tree_type_sh(void) tt->foreach_nodeclass = foreach_nodeclass; tt->localize = localize; tt->local_sync = local_sync; + tt->local_merge = local_merge; tt->update = update; tt->poll = shader_tree_poll; tt->get_from_context = shader_get_from_context; diff --git a/source/blender/nodes/shader/nodes/node_shader_mix_shader.c b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c index 077fd71d191..f1415dcac1b 100644 --- a/source/blender/nodes/shader/nodes/node_shader_mix_shader.c +++ b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c @@ -30,7 +30,7 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_mix_shader_in[] = { - { SOCK_FLOAT, 1, N_("Fac"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, N_("Fac"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR}, { SOCK_SHADER, 1, N_("Shader")}, { SOCK_SHADER, 1, N_("Shader")}, { -1, 0, "" } diff --git a/source/blender/nodes/shader/nodes/node_shader_value.c b/source/blender/nodes/shader/nodes/node_shader_value.c index f4aef926f64..642b5061a76 100644 --- a/source/blender/nodes/shader/nodes/node_shader_value.c +++ b/source/blender/nodes/shader/nodes/node_shader_value.c @@ -34,7 +34,7 @@ /* **************** VALUE ******************** */ static bNodeSocketTemplate sh_node_value_out[] = { - { SOCK_FLOAT, 0, N_("Value"), 0.5f, 0, 0, 0, -FLT_MAX, FLT_MAX, PROP_NONE}, + { SOCK_FLOAT, 0, N_("Value"), 0.5f, 0, 0, 0, -FLT_MAX, FLT_MAX, PROP_NONE}, { -1, 0, "" } }; |