[Bf-blender-cvs] [ed9b21098dd] master: Cleanup: Use new socket builder API

Aaron Carlisle noreply at git.blender.org
Thu Jan 6 23:57:51 CET 2022


Commit: ed9b21098dd27bf9364397357f89b4c2648f40c2
Author: Aaron Carlisle
Date:   Thu Jan 6 17:57:18 2022 -0500
Branches: master
https://developer.blender.org/rBed9b21098dd27bf9364397357f89b4c2648f40c2

Cleanup: Use new socket builder API

This commit converts most shader or bsdf nodes.

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

M	source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_principled.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_toon.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.cc
M	source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.cc
M	source/blender/nodes/shader/nodes/node_shader_eevee_specular.cc
M	source/blender/nodes/shader/nodes/node_shader_emission.cc
M	source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.cc
M	source/blender/nodes/shader/nodes/node_shader_volume_absorption.cc
M	source/blender/nodes/shader/nodes/node_shader_volume_principled.cc

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

diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc
index 2e698aeb4d7..9529edbad0e 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc
@@ -21,22 +21,24 @@
 
 namespace blender::nodes::node_shader_bsdf_anisotropic_cc {
 
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_bsdf_anisotropic_in[] = {
-    {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
-    {SOCK_FLOAT, N_("Roughness"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-    {SOCK_FLOAT, N_("Anisotropy"), 0.5f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f},
-    {SOCK_FLOAT, N_("Rotation"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-    {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
-    {SOCK_VECTOR, N_("Tangent"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
-    {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_bsdf_anisotropic_out[] = {
-    {SOCK_SHADER, N_("BSDF")},
-    {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+  b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
+  b.add_input<decl::Float>(N_("Roughness"))
+      .default_value(0.5f)
+      .min(0.0f)
+      .max(1.0f)
+      .subtype(PROP_FACTOR);
+  b.add_input<decl::Float>(N_("Anisotropy")).default_value(0.5f).min(-1.0f).max(1.0f);
+  b.add_input<decl::Float>(N_("Rotation"))
+      .default_value(0.0f)
+      .min(0.0f)
+      .max(1.0f)
+      .subtype(PROP_FACTOR);
+  b.add_input<decl::Vector>(N_("Normal")).hide_value();
+  b.add_input<decl::Vector>(N_("Tangent")).hide_value();
+  b.add_output<decl::Shader>(N_("BSDF"));
+}
 
 static void node_shader_init_anisotropic(bNodeTree *UNUSED(ntree), bNode *node)
 {
@@ -76,8 +78,7 @@ void register_node_type_sh_bsdf_anisotropic()
   static bNodeType ntype;
 
   sh_node_type_base(&ntype, SH_NODE_BSDF_ANISOTROPIC, "Anisotropic BSDF", NODE_CLASS_SHADER);
-  node_type_socket_templates(
-      &ntype, file_ns::sh_node_bsdf_anisotropic_in, file_ns::sh_node_bsdf_anisotropic_out);
+  ntype.declare = file_ns::node_declare;
   node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
   node_type_init(&ntype, file_ns::node_shader_init_anisotropic);
   node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_anisotropic);
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc
index 3719227f46c..5848ca76cdd 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc
@@ -21,19 +21,17 @@
 
 namespace blender::nodes::node_shader_bsdf_diffuse_cc {
 
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_bsdf_diffuse_in[] = {
-    {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
-    {SOCK_FLOAT, N_("Roughness"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-    {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
-    {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_bsdf_diffuse_out[] = {
-    {SOCK_SHADER, N_("BSDF")},
-    {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+  b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
+  b.add_input<decl::Float>(N_("Roughness"))
+      .default_value(0.0f)
+      .min(0.0f)
+      .max(1.0f)
+      .subtype(PROP_FACTOR);
+  b.add_input<decl::Vector>(N_("Normal")).hide_value();
+  b.add_output<decl::Shader>(N_("BSDF"));
+}
 
 static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat,
                                         bNode *node,
@@ -60,8 +58,7 @@ void register_node_type_sh_bsdf_diffuse()
   static bNodeType ntype;
 
   sh_node_type_base(&ntype, SH_NODE_BSDF_DIFFUSE, "Diffuse BSDF", NODE_CLASS_SHADER);
-  node_type_socket_templates(
-      &ntype, file_ns::sh_node_bsdf_diffuse_in, file_ns::sh_node_bsdf_diffuse_out);
+  ntype.declare = file_ns::node_declare;
   node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
   node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_diffuse);
 
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc
index 2cea42146fd..47d4b87198b 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc
@@ -21,20 +21,18 @@
 
 namespace blender::nodes::node_shader_bsdf_glass_cc {
 
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_bsdf_glass_in[] = {
-    {SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
-    {SOCK_FLOAT, N_("Roughness"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-    {SOCK_FLOAT, N_("IOR"), 1.45f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
-    {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
-    {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_bsdf_glass_out[] = {
-    {SOCK_SHADER, N_("BSDF")},
-    {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+  b.add_input<decl::Color>(N_("Color")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
+  b.add_input<decl::Float>(N_("Roughness"))
+      .default_value(0.0f)
+      .min(0.0f)
+      .max(1.0f)
+      .subtype(PROP_FACTOR);
+  b.add_input<decl::Float>(N_("IOR")).default_value(1.45f).min(0.0f).max(1000.0f);
+  b.add_input<decl::Vector>(N_("Normal")).hide_value();
+  b.add_output<decl::Shader>(N_("BSDF"));
+}
 
 static void node_shader_init_glass(bNodeTree *UNUSED(ntree), bNode *node)
 {
@@ -78,8 +76,7 @@ void register_node_type_sh_bsdf_glass()
   static bNodeType ntype;
 
   sh_node_type_base(&ntype, SH_NODE_BSDF_GLASS, "Glass BSDF", NODE_CLASS_SHADER);
-  node_type_socket_templates(
-      &ntype, file_ns::sh_node_bsdf_glass_in, file_ns::sh_node_bsdf_glass_out);
+  ntype.declare = file_ns::node_declare;
   node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
   node_type_init(&ntype, file_ns::node_shader_init_glass);
   node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_glass);
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc
index 1227d79af93..03a3e634f56 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc
@@ -21,19 +21,17 @@
 
 namespace blender::nodes::node_shader_bsdf_glossy_cc {
 
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_bsdf_glossy_in[] = {
-    {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
-    {SOCK_FLOAT, N_("Roughness"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-    {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
-    {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_bsdf_glossy_out[] = {
-    {SOCK_SHADER, N_("BSDF")},
-    {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+  b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
+  b.add_input<decl::Float>(N_("Roughness"))
+      .default_value(0.5f)
+      .min(0.0f)
+      .max(1.0f)
+      .subtype(PROP_FACTOR);
+  b.add_input<decl::Vector>(N_("Normal")).hide_value();
+  b.add_output<decl::Shader>(N_("BSDF"));
+}
 
 static void node_shader_init_glossy(bNodeTree *UNUSED(ntree), bNode *node)
 {
@@ -77,8 +75,7 @@ void register_node_type_sh_bsdf_glossy()
   static bNodeType ntype;
 
   sh_node_type_base(&ntype, SH_NODE_BSDF_GLOSSY, "Glossy BSDF", NODE_CLASS_SHADER);
-  node_type_socket_templates(
-      &ntype, file_ns::sh_node_bsdf_glossy_in, file_ns::sh_node_bsdf_glossy_out);
+  ntype.declare = file_ns::node_declare;
   node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
   node_type_init(&ntype, file_ns::node_shader_init_glossy);
   node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_glossy);
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc
index 56282d1c991..e3de937367d 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc
@@ -21,21 +21,27 @@
 
 namespace blender::nodes::node_shader_bsdf_hair_cc {
 
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_bsdf_hair_in[] = {
-    {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
-    {SOCK_FLOAT, N_("Offset"), 0.0f, 0.0f, 0.0f, 0.0f, -M_PI_2, M_PI_2, PROP_ANGLE},
-    {SOCK_FLOAT, N_("RoughnessU"), 0.1f, 0.1f, 0.1f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-    {SOCK_FLOAT, N_("RoughnessV"), 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-    {SOCK_VECTOR, N_("Tangent"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
-    {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_bsdf_hair_out[] = {
-    {SOCK_SHADER, N_("BSDF")},
-    {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+  b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
+  b.add_input<decl::Float>(N_("Offset"))
+      .default_value(0.0f)
+      .min(-M_PI_2)
+      .max(M_PI_2)
+      .subtype(PROP_ANGLE);
+  b.add_input<decl::Float>(N_("RoughnessU"))
+      .default_value(0.1f)
+      .min(0.0f)
+      .max(1.0f)
+      .subtype(PROP_FACTOR);
+  b.add_input<decl::Float>(N_("RoughnessV"))
+      .default_value(1.0f)
+      .min(0.0f)
+      .max(1.0f)
+      .subtype(PROP_FACTOR);
+  b.add_input<decl::Vector>(N_("Tangent")).hide_value();
+  b.add_output<decl::Shader>(N_("BSDF"));
+}
 
 static int node_shader_gpu_bsdf_hair(GPUMaterial *mat,
                                      bNode *node,
@@ -56,8 +62,7 @@ void register_node_type_sh_bsdf_hair()
   static bNodeType ntype;
 
   sh_node_type_base(&ntype, SH_NODE_BSDF_HAIR, "Hair BSDF", NODE_CLASS_SHADER);
-  node_type_socket_templates(
-      &ntype, file_ns::sh_node_bsdf_hair_in, file_ns::sh_node_bsdf_hair_out);
+  ntype.declar

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list