[Bf-blender-cvs] [9b99cc216b4] microfacet_hair: Add description to shader node inputs

Weizhen Huang noreply at git.blender.org
Wed Jan 11 20:10:17 CET 2023


Commit: 9b99cc216b4f881834bf23cb566453138e044b15
Author: Weizhen Huang
Date:   Wed Jan 11 20:09:31 2023 +0100
Branches: microfacet_hair
https://developer.blender.org/rB9b99cc216b4f881834bf23cb566453138e044b15

Add description to shader node inputs

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

M	source/blender/nodes/shader/nodes/node_shader_bsdf_hair_microfacet.cc

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

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 8a7cbed08eb..a6f08769d2f 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
@@ -11,18 +11,26 @@ namespace blender::nodes::node_shader_bsdf_hair_microfacet_cc {
 /* Color, melanin and absorption coefficient default to approximately same brownish hair. */
 static void node_declare(NodeDeclarationBuilder &b)
 {
-  b.add_input<decl::Color>(N_("Color")).default_value({0.017513f, 0.005763f, 0.002059f, 1.0f});
+  b.add_input<decl::Color>(N_("Color"))
+      .default_value({0.017513f, 0.005763f, 0.002059f, 1.0f})
+      .description("The RGB color of the strand. Only used in Direct Coloring");
   b.add_input<decl::Float>(N_("Melanin"))
       .default_value(0.8f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
+      .subtype(PROP_FACTOR)
+      .description("Hair pigment. Specify its absolute quantity between 0 and 1");
   b.add_input<decl::Float>(N_("Melanin Redness"))
       .default_value(1.0f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
-  b.add_input<decl::Color>(N_("Tint")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
+      .subtype(PROP_FACTOR)
+      .description(
+          "Fraction of pheomelanin in melanin, gives yellowish to reddish color, as opposed to "
+          "the brownish to black color of eumelanin");
+  b.add_input<decl::Color>(N_("Tint"))
+      .default_value({1.0f, 1.0f, 1.0f, 1.0f})
+      .description("Additional color used for dyeing the hair.");
   b.add_input<decl::Vector>(N_("Absorption Coefficient"))
       .default_value({0.245531f, 0.52f, 1.365f})
       .min(0.0f)
@@ -31,33 +39,54 @@ static void node_declare(NodeDeclarationBuilder &b)
       .default_value(0.85f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
+      .subtype(PROP_FACTOR)
+      .description(
+          "For elliptical hair cross-section, the aspect ratio is the ratio of the minor axis to "
+          "the major axis. Recommended values are 0.8~1 for Asian hair, 0.65~0.9 for Caucasian "
+          "hair, 0.5~0.65 for African hair");
   b.add_input<decl::Float>(N_("Roughness"))
       .default_value(0.3f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
+      .subtype(PROP_FACTOR)
+      .description("Microfacet roughness");
   b.add_input<decl::Float>(N_("Reflection"))
       .default_value(1.0f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
+      .subtype(PROP_FACTOR)
+      .description(
+          "The first light bounce off the hair surface. The color of this component is always "
+          "white");
   b.add_input<decl::Float>(N_("Transmission"))
       .default_value(1.0f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
+      .subtype(PROP_FACTOR)
+      .description(
+          "The component that is transmitted through the hair. Picks up the color of the pigment "
+          "inside the hair");
   b.add_input<decl::Float>(N_("Secondary Reflection"))
       .default_value(1.0f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
-  b.add_input<decl::Float>(N_("IOR")).default_value(1.55f).min(0.0f).max(1000.0f);
+      .subtype(PROP_FACTOR)
+      .description(
+          "The component that is transmitted into the hair, reflected off the backside of the "
+          "hair and then transmitted out of the hair, oriented approximately around the incoming "
+          "direction. Picks up the color of the pigment inside the hair");
+  b.add_input<decl::Float>(N_("IOR")).default_value(1.55f).min(0.0f).max(1000.0f).description(
+      "Index of refraction determines how much the ray is bent. At 1.0 rays pass straight through "
+      "like in a transparent material; higher values cause larger deflection in angle. Default "
+      "value is 1.55 (the IOR of keratin)");
   b.add_input<decl::Float>(N_("Offset"))
       .default_value(2.0f * ((float)M_PI) / 180.0f)
       .min(-M_PI_2)
       .max(M_PI_2)
-      .subtype(PROP_ANGLE);
+      .subtype(PROP_ANGLE)
+      .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)
@@ -67,12 +96,14 @@ static void node_declare(NodeDeclarationBuilder &b)
       .default_value(0.0f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
+      .subtype(PROP_FACTOR)
+      .description("Vary the melanin concentration for each strand");
   b.add_input<decl::Float>(N_("Random Roughness"))
       .default_value(0.0f)
       .min(0.0f)
       .max(1.0f)
-      .subtype(PROP_FACTOR);
+      .subtype(PROP_FACTOR)
+      .description("Vary roughness values for each strand");
   b.add_input<decl::Float>(N_("Random")).hide_value();
   b.add_input<decl::Float>(N_("Weight")).unavailable();
   b.add_output<decl::Shader>(N_("BSDF"));



More information about the Bf-blender-cvs mailing list