diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-11 00:10:03 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-11 00:10:03 +0400 |
commit | d16a608f6d5cfdb45c0a72aaa7c5cbc0ebe19928 (patch) | |
tree | dd1df886d084d678d04373c20a5f7edded0bb8cf | |
parent | 6322f017835f86e96b8e082f66595debd9de1da9 (diff) |
Fix cycles backwards compatibility for specular_toon shader this actually needs
to be done in cycles itself to keep compatibility for bytecode too.
Also fix broken button to compile OSL from the text editors, this got broken after
recent change to disable editing of library linked nodes.
-rw-r--r-- | intern/cycles/kernel/osl/osl_closures.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/shaders/stdosl.h | 5 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_edit.c | 7 |
3 files changed, 5 insertions, 9 deletions
diff --git a/intern/cycles/kernel/osl/osl_closures.cpp b/intern/cycles/kernel/osl/osl_closures.cpp index 8473f800d39..b1549e95920 100644 --- a/intern/cycles/kernel/osl/osl_closures.cpp +++ b/intern/cycles/kernel/osl/osl_closures.cpp @@ -198,6 +198,8 @@ void OSLShader::register_closures(OSLShadingSystem *ss_) bsdf_diffuse_toon_params(), bsdf_diffuse_toon_prepare); register_closure(ss, "glossy_toon", id++, bsdf_glossy_toon_params(), bsdf_glossy_toon_prepare); + register_closure(ss, "specular_toon", id++, + bsdf_glossy_toon_params(), bsdf_glossy_toon_prepare); register_closure(ss, "westin_backscatter", id++, bsdf_westin_backscatter_params(), bsdf_westin_backscatter_prepare); register_closure(ss, "westin_sheen", id++, diff --git a/intern/cycles/kernel/shaders/stdosl.h b/intern/cycles/kernel/shaders/stdosl.h index 09217e52b55..24c3e187783 100644 --- a/intern/cycles/kernel/shaders/stdosl.h +++ b/intern/cycles/kernel/shaders/stdosl.h @@ -467,10 +467,7 @@ closure color bssrdf_cubic(normal N, vector radius) BUILTIN; // Backwards compatibility -closure color specular_toon(normal N, float size, float smooth) -{ - return glossy_toon(N, size, smooth); -} +closure color specular_toon(normal N, float size, float smooth) BUILTIN; // Renderer state int raytype (string typename) BUILTIN; diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 8ee09101cdf..89fa58cd750 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -2315,9 +2315,6 @@ static int node_shader_script_update_poll(bContext *C) bNode *node; Text *text; - if (!ED_operator_node_editable(C)) - return 0; - /* test if we have a render engine that supports shaders scripts */ if (!(type && type->update_script_node)) return 0; @@ -2325,14 +2322,14 @@ static int node_shader_script_update_poll(bContext *C) /* see if we have a shader script node in context */ node = CTX_data_pointer_get_type(C, "node", &RNA_ShaderNodeScript).data; - if (!node) + if (!node && snode && snode->edittree) node = nodeGetActive(snode->edittree); if (node && node->type == SH_NODE_SCRIPT) { NodeShaderScript *nss = node->storage; if (node->id || nss->filepath[0]) { - return 1; + return ED_operator_node_editable(C); } } |