[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