[Bf-blender-cvs] [839675793b0] soc-2018-hair-shader: Fix: X Randomization -> Random X

L. E. Segovia noreply at git.blender.org
Mon Jul 9 03:44:22 CEST 2018


Commit: 839675793b09ec47ba6850c974d6ac51d9773f6d
Author: L. E. Segovia
Date:   Mon Jul 9 01:30:13 2018 +0000
Branches: soc-2018-hair-shader
https://developer.blender.org/rB839675793b09ec47ba6850c974d6ac51d9773f6d

Fix: X Randomization -> Random X

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

M	intern/cycles/kernel/shaders/node_principled_hair_bsdf.osl
M	intern/cycles/kernel/svm/svm_closure.h
M	intern/cycles/render/nodes.cpp
M	intern/cycles/render/nodes.h
M	source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c

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

diff --git a/intern/cycles/kernel/shaders/node_principled_hair_bsdf.osl b/intern/cycles/kernel/shaders/node_principled_hair_bsdf.osl
index 084dde53f25..05fbba1747a 100644
--- a/intern/cycles/kernel/shaders/node_principled_hair_bsdf.osl
+++ b/intern/cycles/kernel/shaders/node_principled_hair_bsdf.osl
@@ -24,7 +24,7 @@ shader node_principled_hair_bsdf(
 	color Color = color(0.09292, 0.02100, 0.00417),
 	float Melanin = 0.0,
 	float MelaninRedness = 1.3,
-	float ColorRandomization = 0.0,
+	float RandomColor = 0.0,
 	color Tint = 1.0,
 	color AbsorptionCoefficient = color(0.245531, 0.52, 1.365),
 	normal Normal = Ng,
@@ -32,7 +32,7 @@ shader node_principled_hair_bsdf(
 	float Offset = radians(2),
 	float Roughness = 0.3,
 	float RadialRoughness = 0.3,
-	float RoughnessRandomization = 0.0,
+	float RandomRoughness = 0.0,
 	float UndercoatRoughness = 1.0,
 	float IOR = 1.55,
 	string AttrRandom = "none",
@@ -51,8 +51,8 @@ shader node_principled_hair_bsdf(
 		random_value = Random;
 	}
 
-	float factor_random_color = 1.0 + 2.0*(random_value - 0.5)*ColorRandomization;
-	float factor_random_roughness = 1.0 + 2.0*(random_value - 0.5)*RoughnessRandomization;
+	float factor_random_color = 1.0 + 2.0*(random_value - 0.5)*RandomColor;
+	float factor_random_roughness = 1.0 + 2.0*(random_value - 0.5)*RandomRoughness;
 
 	float adjusted_roughness = Roughness*factor_random_roughness;
 	float adjusted_radial_roughness = RadialRoughness*factor_random_roughness;
@@ -80,7 +80,7 @@ shader node_principled_hair_bsdf(
 		sigma = 0.0*color(0.419, 0.697, 1.37) + 1.3*color(0.187, 0.4, 1.05);
 	}
 
-	//printf("Info: color %f, incoming eumelanin %f, incoming pheomelanin %f, incoming sigma %f, incoming color range %f, incoming normal %f, parametrization %s, resulting sigma %f, Longitudinal %f, Azimuthal %f, roughness range %f, Scale deviation %f, IOR %f\n", Color, Melanin, MelaninRedness, AbsorptionCoefficient, Normal, parametrization, sigma, ColorRandomization, Roughness, RadialRoughness, RoughnessRandomization, Offset, IOR);
+	//printf("Info: color %f, incoming eumelanin %f, incoming pheomelanin %f, incoming sigma %f, incoming color range %f, incoming normal %f, parametrization %s, resulting sigma %f, Longitudinal %f, Azimuthal %f, roughness range %f, Scale deviation %f, IOR %f\n", Color, Melanin, MelaninRedness, AbsorptionCoefficient, Normal, parametrization, sigma, RandomColor, Roughness, RadialRoughness, RandomRoughness, Offset, IOR);
 
 	BSDF = principled_hair(Normal, sigma, adjusted_roughness, adjusted_radial_roughness, UndercoatRoughness, Offset, IOR);
 }
diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h
index 8982860855c..583bedfb23a 100644
--- a/intern/cycles/kernel/svm/svm_closure.h
+++ b/intern/cycles/kernel/svm/svm_closure.h
@@ -742,11 +742,11 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
 			float melanin_qty = (stack_valid(melanin_qty_ofs)) ? stack_load_float(stack, melanin_qty_ofs) : __uint_as_float(data_node2.z);
 			float melanin_ratio = (stack_valid(melanin_ratio_ofs)) ? stack_load_float(stack, melanin_ratio_ofs) : __uint_as_float(data_node2.w);
 			
-			uint tint_ofs, random_ofs, color_randomization_ofs, roughness_randomization_ofs;
-			decode_node_uchar4(data_node3.x, &tint_ofs, &random_ofs, &color_randomization_ofs, &roughness_randomization_ofs);
-			float color_randomization = (stack_valid(color_randomization_ofs)) ? stack_load_float(stack, color_randomization_ofs) : __uint_as_float(data_node3.z);
-			color_randomization = clamp(color_randomization, 0.0f, 1.0f);
-			float roughness_randomization = (stack_valid(roughness_randomization_ofs)) ? stack_load_float(stack, roughness_randomization_ofs) : __uint_as_float(data_node3.w);
+			uint tint_ofs, random_ofs, random_color_ofs, random_roughness_ofs;
+			decode_node_uchar4(data_node3.x, &tint_ofs, &random_ofs, &random_color_ofs, &random_roughness_ofs);
+			float random_color = (stack_valid(random_color_ofs)) ? stack_load_float(stack, random_color_ofs) : __uint_as_float(data_node3.z);
+			random_color = clamp(random_color, 0.0f, 1.0f);
+			float random_roughness = (stack_valid(random_roughness_ofs)) ? stack_load_float(stack, random_roughness_ofs) : __uint_as_float(data_node3.w);
 
 			const AttributeDescriptor attr_descr_random = find_attribute(kg, sd, data_node4.y);
 			float random = 0.0f;
@@ -758,8 +758,8 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
 			}
 
 			// Random factors range: [-randomization/2, +randomization/2].
-			float factor_random_color = 1.0f + 2.0f*(random - 0.5f)*color_randomization;
-			float factor_random_roughness = 1.0f + 2.0f*(random - 0.5f)*roughness_randomization;
+			float factor_random_color = 1.0f + 2.0f*(random - 0.5f)*random_color;
+			float factor_random_roughness = 1.0f + 2.0f*(random - 0.5f)*random_roughness;
 
 			PrincipledHairBSDF *bsdf = (PrincipledHairBSDF*)bsdf_alloc(sd, sizeof(PrincipledHairBSDF), weight);
 			if(bsdf) {
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index fce73fcc5b5..b924660b786 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -3072,7 +3072,7 @@ NODE_DEFINE(PrincipledHairBsdfNode)
 	SOCKET_IN_FLOAT(melanin, "Melanin", 1.3f);
 	SOCKET_IN_FLOAT(melanin_redness, "Melanin Redness", 1.0f);
 	SOCKET_IN_COLOR(tint, "Tint", make_float3(1.f, 1.f, 1.f));
-	SOCKET_IN_FLOAT(color_randomization, "Color Randomization", 0.0f);
+	SOCKET_IN_FLOAT(random_color, "Random Color", 0.0f);
 	SOCKET_IN_VECTOR(absorption_coefficient, "Absorption Coefficient", make_float3(0.245531f, 0.52f, 1.365f), SocketType::VECTOR);
 	SOCKET_IN_NORMAL(normal, "Normal", make_float3(0.0f, 0.0f, 0.0f), SocketType::LINK_NORMAL);
 	SOCKET_IN_FLOAT(surface_mix_weight, "SurfaceMixWeight", 0.0f, SocketType::SVM_INTERNAL);
@@ -3087,7 +3087,7 @@ NODE_DEFINE(PrincipledHairBsdfNode)
 	SOCKET_IN_FLOAT(offset, "Offset", 2.f*M_PI_F/180.f);
 	SOCKET_IN_FLOAT(roughness_u, "Roughness", 0.3f);
 	SOCKET_IN_FLOAT(roughness_v, "Radial Roughness", 0.3f);
-	SOCKET_IN_FLOAT(roughness_randomization, "Roughness Randomization", 0.0f);
+	SOCKET_IN_FLOAT(random_roughness, "Random Roughness", 0.0f);
 	SOCKET_IN_FLOAT(primary_reflection_roughness, "Undercoat Roughness", 1.0f);
 	SOCKET_IN_FLOAT(ior, "IOR", 1.55f);
 
@@ -3121,13 +3121,13 @@ void PrincipledHairBsdfNode::compile(SVMCompiler& compiler)
 
 	ShaderInput *roughness_u_in = input("Roughness");
 	ShaderInput *roughness_v_in = input("Radial Roughness");
-	ShaderInput *roughness_randomization_in = input("Roughness Randomization");
+	ShaderInput *random_roughness_in = input("Random Roughness");
 	ShaderInput *offset_in = input("Offset");
 	ShaderInput *primary_reflection_roughness_in = input("Undercoat Roughness");
 	ShaderInput *ior_in = input("IOR");
 	ShaderInput *melanin_in =  input("Melanin");
 	ShaderInput *melanin_redness_in = input("Melanin Redness");
-	ShaderInput *color_randomization_in = input("Color Randomization");
+	ShaderInput *random_color_in = input("Random Color");
 
 	int color_ofs = compiler.stack_assign(input("Color"));
 	int tint_ofs = compiler.stack_assign(input("Tint"));
@@ -3170,11 +3170,11 @@ void PrincipledHairBsdfNode::compile(SVMCompiler& compiler)
 		compiler.encode_uchar4(
 			tint_ofs,
 			compiler.stack_assign_if_linked(random_in),
-			compiler.stack_assign_if_linked(color_randomization_in),
-			compiler.stack_assign_if_linked(roughness_randomization_in)),
+			compiler.stack_assign_if_linked(random_color_in),
+			compiler.stack_assign_if_linked(random_roughness_in)),
 		__float_as_uint(random),
-		__float_as_uint(color_randomization),
-		__float_as_uint(roughness_randomization));
+		__float_as_uint(random_color),
+		__float_as_uint(random_roughness));
 
 	compiler.add_node(
 		compiler.encode_uchar4(
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h
index ad823294f36..d2f8f96e005 100644
--- a/intern/cycles/render/nodes.h
+++ b/intern/cycles/render/nodes.h
@@ -617,7 +617,7 @@ public:
 	/* Azimuthal roughness. */
 	float roughness_v;
 	/* Randomization factor for roughnesses. */
-	float roughness_randomization;
+	float random_roughness;
 	/* Longitudinal roughness factor for only the diffuse bounce (shiny undercoat). */
 	float primary_reflection_roughness;
 	/* Index of reflection. */
@@ -633,7 +633,7 @@ public:
 	/* Dye color. */
 	float3 tint;
 	/* Randomization factor for melanin quantities. */
-	float color_randomization;
+	float random_color;
 	/* Absorption coefficient (unfiltered). */
 	float3 absorption_coefficient;
 
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
index 2df8520d6e6..0f8444a6178 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
@@ -43,8 +43,8 @@ static bNodeSocketTemplate sh_node_bsdf_hair_principled_in[] = {
 	{	SOCK_FLOAT,		1, N_("Undercoat Roughness"),		1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
 	{	SOCK_FLOAT,		1, N_("IOR"),						1.55f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
 	{	SOCK_FLOAT,		1, N_("Offset"),					2.f*((float)M_PI)/180.f, 0.0f, 0.0f, 0.0f, -M_PI_2, M_PI_2, PROP_ANGLE},
-	{	SOCK_FLOAT, 	1, N_("Color Randomization"),		0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-	{	SOCK_FLOAT, 	1, N_("Roughness Randomization"),	0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+	{	SOCK_FLOAT, 	1, N_("Random Color"),		0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+	{	SOCK_FLOAT, 	1, N_("Random Roughness"),	0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
 	{	SOCK_FLOAT,		1, N_("Random"),					0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
 	{	-1, 0, ""	},
 };
@@ -107,7 +107,7 @@ static void node_shader_update_hair_principled(bNodeTree *UNUSED(ntree), bNode *
 				sock->flag |= SOCK_UNAVAIL;
 			}
 		}
-		else if (STREQ(sock->name, "Color Randomization")) {
+		else if (STREQ(sock->name, "Random Color")) {
 			if (parametrization == SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION) {
 				sock->flag &= ~SOCK_UNAVAIL;
 			}



More information about the Bf-blender-cvs mailing list