[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