[Bf-blender-cvs] [ac2dcea8e19] soc-2019-cycles-procedural: Refactor and clean up White Noise node.
OmarSquircleArt
noreply at git.blender.org
Wed Aug 7 15:12:37 CEST 2019
Commit: ac2dcea8e1906e1fa24736270d0ea592775352d1
Author: OmarSquircleArt
Date: Wed Aug 7 15:13:36 2019 +0200
Branches: soc-2019-cycles-procedural
https://developer.blender.org/rBac2dcea8e1906e1fa24736270d0ea592775352d1
Refactor and clean up White Noise node.
===================================================================
M intern/cycles/kernel/shaders/node_white_noise_texture.osl
M intern/cycles/kernel/svm/svm_white_noise.h
M intern/cycles/render/nodes.cpp
M source/blender/gpu/shaders/gpu_shader_material.glsl
M source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c
===================================================================
diff --git a/intern/cycles/kernel/shaders/node_white_noise_texture.osl b/intern/cycles/kernel/shaders/node_white_noise_texture.osl
index ce39a5a759e..19a7cd9191e 100644
--- a/intern/cycles/kernel/shaders/node_white_noise_texture.osl
+++ b/intern/cycles/kernel/shaders/node_white_noise_texture.osl
@@ -19,21 +19,21 @@
shader node_white_noise_texture(string dimensions = "3D",
point Vector = vector(0.0, 0.0, 0.0),
float W = 0.0,
- output float Fac = 0.0)
+ output float Value = 0.0)
{
if (dimensions == "1D") {
- Fac = noise("hash", W);
+ Value = noise("hash", W);
}
else if (dimensions == "2D") {
- Fac = noise("hash", Vector[0], Vector[1]);
+ Value = noise("hash", Vector[0], Vector[1]);
}
else if (dimensions == "3D") {
- Fac = noise("hash", Vector);
+ Value = noise("hash", Vector);
}
else if (dimensions == "4D") {
- Fac = noise("hash", Vector, W);
+ Value = noise("hash", Vector, W);
}
else {
- Fac = 0.0;
+ warning("%s", "Unknown dimension!");
}
}
diff --git a/intern/cycles/kernel/svm/svm_white_noise.h b/intern/cycles/kernel/svm/svm_white_noise.h
index a9d79b206df..56823123366 100644
--- a/intern/cycles/kernel/svm/svm_white_noise.h
+++ b/intern/cycles/kernel/svm/svm_white_noise.h
@@ -20,33 +20,33 @@ ccl_device void svm_node_tex_white_noise(KernelGlobals *kg,
ShaderData *sd,
float *stack,
uint dimensions,
- uint vec_offset,
+ uint vector_offset,
uint w_offset,
int *offset)
{
uint4 node1 = read_node(kg, offset);
- float3 vec = stack_load_float3(stack, vec_offset);
+ float3 vector = stack_load_float3(stack, vector_offset);
float w = stack_load_float(stack, w_offset);
- float r;
+ float value;
switch (dimensions) {
case 1:
- r = hash_float_to_float(w);
+ value = hash_float_to_float(w);
break;
case 2:
- r = hash_float2_to_float(make_float2(vec.x, vec.y));
+ value = hash_float2_to_float(make_float2(vector.x, vector.y));
break;
case 3:
- r = hash_float3_to_float(vec);
+ value = hash_float3_to_float(vector);
break;
case 4:
- r = hash_float4_to_float(make_float4(vec.x, vec.y, vec.z, w));
+ value = hash_float4_to_float(make_float4(vector.x, vector.y, vector.z, w));
break;
default:
- r = 0.0f;
+ kernel_assert(0);
}
- stack_store_float(stack, node1.y, r);
+ stack_store_float(stack, node1.y, value);
}
CCL_NAMESPACE_END
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index e8fc74154d3..2e9859e2fb7 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -1159,7 +1159,7 @@ NODE_DEFINE(WhiteNoiseTextureNode)
SOCKET_IN_POINT(vector, "Vector", make_float3(0.0f, 0.0f, 0.0f));
SOCKET_IN_FLOAT(w, "W", 0.0f);
- SOCKET_OUT_FLOAT(fac, "Fac");
+ SOCKET_OUT_FLOAT(value, "Value");
return type;
}
@@ -1172,13 +1172,13 @@ void WhiteNoiseTextureNode::compile(SVMCompiler &compiler)
{
ShaderInput *vector_in = input("Vector");
ShaderInput *w_in = input("W");
- ShaderOutput *fac_out = output("Fac");
+ ShaderOutput *value_out = output("Value");
compiler.add_node(NODE_TEX_WHITE_NOISE,
dimensions,
compiler.stack_assign(vector_in),
compiler.stack_assign(w_in));
- compiler.add_node(NODE_TEX_WHITE_NOISE, compiler.stack_assign(fac_out));
+ compiler.add_node(NODE_TEX_WHITE_NOISE, compiler.stack_assign(value_out));
}
void WhiteNoiseTextureNode::compile(OSLCompiler &compiler)
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl
index 24ce244d1d4..b8716f1337c 100644
--- a/source/blender/gpu/shaders/gpu_shader_material.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_material.glsl
@@ -1444,24 +1444,24 @@ vec3 hash_vec4_to_vec3(vec4 k)
/* White Noise */
-void node_white_noise_1d(vec3 vector, float w, out float fac)
+void node_white_noise_1d(vec3 vector, float w, out float value)
{
- fac = hash_float_to_float(w);
+ value = hash_float_to_float(w);
}
-void node_white_noise_2d(vec3 vector, float w, out float fac)
+void node_white_noise_2d(vec3 vector, float w, out float value)
{
- fac = hash_vec2_to_float(vector.xy);
+ value = hash_vec2_to_float(vector.xy);
}
-void node_white_noise_3d(vec3 vector, float w, out float fac)
+void node_white_noise_3d(vec3 vector, float w, out float value)
{
- fac = hash_vec3_to_float(vector);
+ value = hash_vec3_to_float(vector);
}
-void node_white_noise_4d(vec3 vector, float w, out float fac)
+void node_white_noise_4d(vec3 vector, float w, out float value)
{
- fac = hash_vec4_to_float(vec4(vector, w));
+ value = hash_vec4_to_float(vec4(vector, w));
}
float floorfrac(float x, out int i)
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c b/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c
index b86cf00165e..ec2047e2d2f 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.c
@@ -27,7 +27,7 @@ static bNodeSocketTemplate sh_node_tex_white_noise_in[] = {
{-1, 0, ""}};
static bNodeSocketTemplate sh_node_tex_white_noise_out[] = {
- {SOCK_FLOAT, 0, N_("Fac"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, 0, N_("Value")},
{-1, 0, ""},
};
@@ -44,10 +44,10 @@ static int gpu_shader_tex_white_noise(GPUMaterial *mat,
{
static const char *names[] = {
"",
- "white_noise_1D",
- "white_noise_2D",
- "white_noise_3D",
- "white_noise_4D",
+ "node_white_noise_1d",
+ "node_white_noise_2d",
+ "node_white_noise_3d",
+ "node_white_noise_4d",
};
GPU_stack_link(mat, node, names[node->custom1], in, out);
@@ -56,11 +56,11 @@ static int gpu_shader_tex_white_noise(GPUMaterial *mat,
static void node_shader_update_tex_white_noise(bNodeTree *UNUSED(ntree), bNode *node)
{
- bNodeSocket *inVecSock = BLI_findlink(&node->inputs, 0);
- bNodeSocket *inWSock = BLI_findlink(&node->inputs, 1);
+ bNodeSocket *sockVector = nodeFindSocket(node, SOCK_IN, "Vector");
+ bNodeSocket *sockW = nodeFindSocket(node, SOCK_IN, "W");
- nodeSetSocketAvailability(inVecSock, node->custom1 != 1);
- nodeSetSocketAvailability(inWSock, node->custom1 == 1 || node->custom1 == 4);
+ nodeSetSocketAvailability(sockVector, node->custom1 != 1);
+ nodeSetSocketAvailability(sockW, node->custom1 == 1 || node->custom1 == 4);
}
void register_node_type_sh_tex_white_noise(void)
@@ -70,7 +70,6 @@ void register_node_type_sh_tex_white_noise(void)
sh_node_type_base(&ntype, SH_NODE_TEX_WHITE_NOISE, "White Noise Texture", NODE_CLASS_TEXTURE, 0);
node_type_socket_templates(&ntype, sh_node_tex_white_noise_in, sh_node_tex_white_noise_out);
node_type_init(&ntype, node_shader_init_tex_white_noise);
- node_type_storage(&ntype, "", NULL, NULL);
node_type_gpu(&ntype, gpu_shader_tex_white_noise);
node_type_update(&ntype, node_shader_update_tex_white_noise);
More information about the Bf-blender-cvs
mailing list