[Bf-blender-cvs] [d92e4bc65ac] soc-2019-cycles-procedural: Refactor and clean up Clamp node.

OmarSquircleArt noreply at git.blender.org
Mon Aug 5 13:12:12 CEST 2019


Commit: d92e4bc65accfcc5882aabea832f6dca246f73cc
Author: OmarSquircleArt
Date:   Mon Aug 5 13:13:13 2019 +0200
Branches: soc-2019-cycles-procedural
https://developer.blender.org/rBd92e4bc65accfcc5882aabea832f6dca246f73cc

Refactor and clean up Clamp node.

===================================================================

M	intern/cycles/kernel/shaders/node_clamp.osl
M	intern/cycles/render/nodes.cpp
M	intern/cycles/render/nodes.h
M	source/blender/blenloader/intern/versioning_cycles.c
M	source/blender/gpu/shaders/gpu_shader_material.glsl
M	source/blender/nodes/shader/nodes/node_shader_clamp.c

===================================================================

diff --git a/intern/cycles/kernel/shaders/node_clamp.osl b/intern/cycles/kernel/shaders/node_clamp.osl
index 9302fb69484..43b0fe88172 100644
--- a/intern/cycles/kernel/shaders/node_clamp.osl
+++ b/intern/cycles/kernel/shaders/node_clamp.osl
@@ -16,8 +16,8 @@
 
 #include "stdosl.h"
 
-shader node_clamp(float ValueIn = 1.0, float Min = 0.0, float Max = 1.0,
-                  output float ValueOut = 0.0)
+shader node_clamp(float Value = 1.0, float Min = 0.0, float Max = 1.0,
+                  output float Result = 0.0)
 {
-    ValueOut = clamp(ValueIn, Min, Max);
+    Result = clamp(Value, Min, Max);
 }
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index 45dcc283056..8d99001049c 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -5586,11 +5586,11 @@ NODE_DEFINE(ClampNode)
 {
   NodeType *type = NodeType::add("clamp", create, NodeType::SHADER);
 
-  SOCKET_IN_FLOAT(valueIn, "Value", 1.0f);
+  SOCKET_IN_FLOAT(value, "Value", 1.0f);
   SOCKET_IN_FLOAT(min, "Min", 0.0f);
   SOCKET_IN_FLOAT(max, "Max", 1.0f);
 
-  SOCKET_OUT_FLOAT(valueOut, "Value");
+  SOCKET_OUT_FLOAT(result, "Result");
 
   return type;
 }
@@ -5602,7 +5602,7 @@ ClampNode::ClampNode() : ShaderNode(node_type)
 void ClampNode::constant_fold(const ConstantFolder &folder)
 {
   if (folder.all_inputs_constant()) {
-    folder.make_constant(clamp(valueIn, min, max));
+    folder.make_constant(clamp(value, min, max));
   }
 }
 
@@ -5612,13 +5612,13 @@ void ClampNode::compile(SVMCompiler &compiler)
   ShaderInput *min_in = input("Min");
   ShaderInput *max_in = input("Max");
 
-  ShaderOutput *value_out = output("Value");
+  ShaderOutput *result_out = output("Result");
 
   compiler.add_node(NODE_CLAMP,
                     compiler.stack_assign(value_in),
                     compiler.stack_assign(min_in),
                     compiler.stack_assign(max_in));
-  compiler.add_node(NODE_CLAMP, compiler.stack_assign(value_out));
+  compiler.add_node(NODE_CLAMP, compiler.stack_assign(result_out));
 }
 
 void ClampNode::compile(OSLCompiler &compiler)
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h
index 02d8f9edfc5..93848e00f24 100644
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@ -1294,7 +1294,7 @@ class ClampNode : public ShaderNode {
   {
     return NODE_GROUP_LEVEL_3;
   }
-  float valueIn, min, max;
+  float value, min, max;
 };
 
 class MathNode : public ShaderNode {
diff --git a/source/blender/blenloader/intern/versioning_cycles.c b/source/blender/blenloader/intern/versioning_cycles.c
index 5d62c1daf1e..dce6d1ffa21 100644
--- a/source/blender/blenloader/intern/versioning_cycles.c
+++ b/source/blender/blenloader/intern/versioning_cycles.c
@@ -474,7 +474,7 @@ static void update_math_clamp_option(bNodeTree *ntree)
 
       bNodeSocket *sockMathResult = nodeFindSocket(node, SOCK_OUT, "Result");
       bNodeSocket *sockClampValue = nodeFindSocket(clampNode, SOCK_IN, "Value");
-      bNodeSocket *sockClampResult = nodeFindSocket(clampNode, SOCK_OUT, "Value");
+      bNodeSocket *sockClampResult = nodeFindSocket(clampNode, SOCK_OUT, "Result");
 
       /* Iterate backwards from end so we don't encounter newly added links. */
       for (bNodeLink *link = ntree->links.last; link; link = link->prev) {
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl
index ff3baf5ac7b..40ff0d65786 100644
--- a/source/blender/gpu/shaders/gpu_shader_material.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_material.glsl
@@ -1078,9 +1078,9 @@ void clamp_vec3(vec3 vec, vec3 min, vec3 max, out vec3 out_vec)
   out_vec = clamp(vec, min, max);
 }
 
-void clamp_val(float value, float min, float max, out float out_value)
+void clamp_value(float value, float min, float max, out float result)
 {
-  out_value = clamp(value, min, max);
+  result = clamp(value, min, max);
 }
 
 void hue_sat(float hue, float sat, float value, float fac, vec4 col, out vec4 outcol)
diff --git a/source/blender/nodes/shader/nodes/node_shader_clamp.c b/source/blender/nodes/shader/nodes/node_shader_clamp.c
index c73ffdfad6d..cfcd6a24aa5 100644
--- a/source/blender/nodes/shader/nodes/node_shader_clamp.c
+++ b/source/blender/nodes/shader/nodes/node_shader_clamp.c
@@ -31,35 +31,17 @@ static bNodeSocketTemplate sh_node_clamp_in[] = {
     {-1, 0, ""},
 };
 static bNodeSocketTemplate sh_node_clamp_out[] = {
-    {SOCK_FLOAT, 0, N_("Value")},
+    {SOCK_FLOAT, 0, N_("Result")},
     {-1, 0, ""},
 };
 
-static void node_shader_exec_clamp(void *UNUSED(data),
-                                   int UNUSED(thread),
-                                   bNode *UNUSED(node),
-                                   bNodeExecData *UNUSED(execdata),
-                                   bNodeStack **in,
-                                   bNodeStack **out)
-{
-  float value, min, max;
-
-  nodestack_get_vec(&value, SOCK_FLOAT, in[0]);
-  nodestack_get_vec(&min, SOCK_FLOAT, in[1]);
-  nodestack_get_vec(&max, SOCK_FLOAT, in[2]);
-
-  CLAMP(value, min, max);
-
-  out[0]->vec[0] = value;
-}
-
 static int gpu_shader_clamp(GPUMaterial *mat,
                             bNode *node,
                             bNodeExecData *UNUSED(execdata),
                             GPUNodeStack *in,
                             GPUNodeStack *out)
 {
-  GPU_stack_link(mat, node, "clamp_val", in, out);
+  GPU_stack_link(mat, node, "clamp_value", in, out);
   return 1;
 }
 
@@ -69,7 +51,6 @@ void register_node_type_sh_clamp(void)
 
   sh_node_type_base(&ntype, SH_NODE_CLAMP, "Clamp", NODE_CLASS_CONVERTOR, 0);
   node_type_socket_templates(&ntype, sh_node_clamp_in, sh_node_clamp_out);
-  node_type_exec(&ntype, NULL, NULL, node_shader_exec_clamp);
   node_type_gpu(&ntype, gpu_shader_clamp);
 
   nodeRegisterType(&ntype);



More information about the Bf-blender-cvs mailing list