[Bf-blender-cvs] [5c9581920e5] microfacet_hair: Remove node input "Blur"

Weizhen Huang noreply at git.blender.org
Thu Jan 12 18:40:55 CET 2023


Commit: 5c9581920e50dfe20303481eb89c86de6dfb3245
Author: Weizhen Huang
Date:   Thu Jan 12 18:40:43 2023 +0100
Branches: microfacet_hair
https://developer.blender.org/rB5c9581920e50dfe20303481eb89c86de6dfb3245

Remove node input "Blur"

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

M	intern/cycles/kernel/closure/bsdf_hair_microfacet.h
M	intern/cycles/kernel/svm/closure.h
M	intern/cycles/scene/shader_nodes.cpp
M	intern/cycles/scene/shader_nodes.h
M	source/blender/gpu/shaders/material/gpu_shader_material_hair.glsl
M	source/blender/nodes/shader/nodes/node_shader_bsdf_hair_microfacet.cc

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

diff --git a/intern/cycles/kernel/closure/bsdf_hair_microfacet.h b/intern/cycles/kernel/closure/bsdf_hair_microfacet.h
index 90a9fec8295..2381d5a5239 100644
--- a/intern/cycles/kernel/closure/bsdf_hair_microfacet.h
+++ b/intern/cycles/kernel/closure/bsdf_hair_microfacet.h
@@ -34,9 +34,6 @@ typedef struct MicrofacetHairBSDF {
   /* IOR. */
   float eta;
 
-  /* Blur. */
-  float blur;
-
   /* GGX/Beckmann. */
   int distribution_type;
 
@@ -1382,9 +1379,7 @@ ccl_device void bsdf_microfacet_hair_blur(ccl_private ShaderClosure *sc, float r
 {
   ccl_private MicrofacetHairBSDF *bsdf = (ccl_private MicrofacetHairBSDF *)sc;
 
-  if (bsdf->blur > 0) {
-    bsdf->roughness = fmaxf(roughness, bsdf->roughness);
-  }
+  bsdf->roughness = fmaxf(roughness, bsdf->roughness);
 }
 
 /* Hair Albedo */
diff --git a/intern/cycles/kernel/svm/closure.h b/intern/cycles/kernel/svm/closure.h
index 1f28aac138d..7e4819a7271 100644
--- a/intern/cycles/kernel/svm/closure.h
+++ b/intern/cycles/kernel/svm/closure.h
@@ -892,12 +892,9 @@ ccl_device_noinline int svm_node_closure_bsdf(KernelGlobals kg,
       float alpha = stack_load_float_default(stack, offset_ofs, data_node.z);
       float ior = stack_load_float_default(stack, ior_ofs, data_node.w);
 
-      uint Blur_ofs, melanin_ofs, melanin_redness_ofs, absorption_coefficient_ofs;
-      svm_unpack_node_uchar4(data_node2.x,
-                             &Blur_ofs,
-                             &melanin_ofs,
-                             &melanin_redness_ofs,
-                             &absorption_coefficient_ofs);
+      uint melanin_ofs, melanin_redness_ofs, absorption_coefficient_ofs, temp;
+      svm_unpack_node_uchar4(
+          data_node2.x, &temp, &melanin_ofs, &melanin_redness_ofs, &absorption_coefficient_ofs);
 
       uint tint_ofs, random_ofs, random_color_ofs, cross_section_type;
       svm_unpack_node_uchar4(
@@ -917,7 +914,6 @@ ccl_device_noinline int svm_node_closure_bsdf(KernelGlobals kg,
       float R = stack_load_float_default(stack, R_ofs, data_node4.y);
       float TT = stack_load_float_default(stack, TT_ofs, data_node4.z);
       float TRT = stack_load_float_default(stack, TRT_ofs, data_node4.w);
-      float blur = stack_load_float_default(stack, Blur_ofs, data_node2.y);
 
       ccl_private MicrofacetHairBSDF *bsdf = (ccl_private MicrofacetHairBSDF *)bsdf_alloc(
           sd, sizeof(MicrofacetHairBSDF), weight);
@@ -932,7 +928,6 @@ ccl_device_noinline int svm_node_closure_bsdf(KernelGlobals kg,
         bsdf->extra->R = fmaxf(0.0f, R);
         bsdf->extra->TT = fmaxf(0.0f, TT);
         bsdf->extra->TRT = fmaxf(0.0f, TRT);
-        bsdf->blur = clamp(blur, 0.0f, 1.0f);
 
         /* Random factors range: [-randomization/2, +randomization/2]. */
         float random_roughness = param2;
diff --git a/intern/cycles/scene/shader_nodes.cpp b/intern/cycles/scene/shader_nodes.cpp
index e130a51bc4b..3854f008d55 100644
--- a/intern/cycles/scene/shader_nodes.cpp
+++ b/intern/cycles/scene/shader_nodes.cpp
@@ -3680,8 +3680,6 @@ NODE_DEFINE(MicrofacetHairBsdfNode)
   SOCKET_IN_FLOAT(TT, "Transmission", 1.0f);
   SOCKET_IN_FLOAT(TRT, "Secondary Reflection", 1.0f);
 
-  SOCKET_IN_FLOAT(Blur, "Blur", 1.0f);
-
   SOCKET_IN_FLOAT(random_roughness, "Random Roughness", 0.0f);
   SOCKET_IN_FLOAT(random_color, "Random Color", 0.0f);
   SOCKET_IN_FLOAT(random, "Random", 0.0f);
@@ -3730,7 +3728,6 @@ void MicrofacetHairBsdfNode::compile(SVMCompiler &compiler)
   ShaderInput *R_in = input("Reflection");
   ShaderInput *TT_in = input("Transmission");
   ShaderInput *TRT_in = input("Secondary Reflection");
-  ShaderInput *Blur_in = input("Blur");
 
   ShaderInput *aspect_ratio_in = input("Aspect Ratio");
 
@@ -3772,13 +3769,11 @@ void MicrofacetHairBsdfNode::compile(SVMCompiler &compiler)
                     __float_as_uint(ior));
 
   /* data node 2 */
-  compiler.add_node(compiler.encode_uchar4(compiler.stack_assign_if_linked(Blur_in),
-                                           melanin_ofs,
-                                           melanin_redness_ofs,
-                                           absorption_coefficient_ofs),
-                    __float_as_uint(Blur),
-                    __float_as_uint(melanin),
-                    __float_as_uint(melanin_redness));
+  compiler.add_node(
+      compiler.encode_uchar4(0, melanin_ofs, melanin_redness_ofs, absorption_coefficient_ofs),
+      0,
+      __float_as_uint(melanin),
+      __float_as_uint(melanin_redness));
 
   /* data node 3 */
   compiler.add_node(
diff --git a/intern/cycles/scene/shader_nodes.h b/intern/cycles/scene/shader_nodes.h
index 56aafda5829..5e55d6022d8 100644
--- a/intern/cycles/scene/shader_nodes.h
+++ b/intern/cycles/scene/shader_nodes.h
@@ -914,8 +914,6 @@ class MicrofacetHairBsdfNode : public BsdfBaseNode {
   NODE_SOCKET_API(float, TT)
   NODE_SOCKET_API(float, TRT)
 
-  NODE_SOCKET_API(float, Blur)
-
   NODE_SOCKET_API(float3, normal)
   NODE_SOCKET_API(float, surface_mix_weight)
   /* If linked, here will be the given random number. */
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_hair.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_hair.glsl
index 7342e6d29a3..55a79b16cdc 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_hair.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_hair.glsl
@@ -57,7 +57,6 @@ void node_bsdf_hair_microfacet(vec4 color,
                                float ior,
                                float offset,
                                float aspect_ratio,
-                               float Blur,
                                float random_color,
                                float random_roughness,
                                float random,
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_microfacet.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_microfacet.cc
index d864dd2cf5c..98bd4bdd4ce 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_microfacet.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_microfacet.cc
@@ -87,11 +87,6 @@ static void node_declare(NodeDeclarationBuilder &b)
       .description(
           "The tilt angle of the cuticle scales (the outermost part of the hair). They are always "
           "tilted towards the hair root. The value is usually between 2 and 4 for human hair");
-  b.add_input<decl::Float>(N_("Blur"))
-      .default_value(1.0f)
-      .min(0.0f)
-      .max(1.0f)
-      .subtype(PROP_FACTOR);
   b.add_input<decl::Float>(N_("Random Color"))
       .default_value(0.0f)
       .min(0.0f)



More information about the Bf-blender-cvs mailing list