[Bf-blender-cvs] [97e3a2d935b] master: Shader Nodes: Migrate shader category to new node socket declaration API
Aaron Carlisle
noreply at git.blender.org
Tue Dec 7 00:52:14 CET 2021
Commit: 97e3a2d935ba9b21b127eda7ca104d4bcf4e48bd
Author: Aaron Carlisle
Date: Mon Dec 6 18:51:19 2021 -0500
Branches: master
https://developer.blender.org/rB97e3a2d935ba9b21b127eda7ca104d4bcf4e48bd
Shader Nodes: Migrate shader category to new node socket declaration API
No functional changes, tests passed and I double checked the nodes by hand.
===================================================================
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_emission.cc
M source/blender/nodes/shader/nodes/node_shader_holdout.cc
M source/blender/nodes/shader/nodes/node_shader_mix_shader.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
M source/blender/nodes/shader/nodes/node_shader_volume_scatter.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 5a614e7b155..9fac8d70e9d 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc
@@ -23,20 +23,20 @@
namespace blender::nodes::node_shader_anisotropic_cc {
-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")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
+ b.add_input<decl::Vector>(N_("Tangent")).min(-1.0f).max(1.0f).hide_value();
+ b.add_output<decl::Shader>(N_("BSDF"));
+}
static void node_shader_init_anisotropic(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -76,8 +76,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, 0);
- 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_storage(&ntype, "", nullptr, nullptr);
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 8b30436db09..c3ec80a4cf9 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc
@@ -23,17 +23,13 @@
namespace blender::nodes::node_shader_bsdf_diffuse_cc {
-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")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
+ b.add_output<decl::Shader>(N_("BSDF"));
+}
static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat,
bNode *node,
@@ -60,8 +56,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, 0);
- 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_init(&ntype, nullptr);
node_type_storage(&ntype, "", nullptr, nullptr);
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 78ad2d7b121..840d7e68dbc 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc
@@ -23,18 +23,14 @@
namespace blender::nodes::node_shader_bsdf_glass_cc {
-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")).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")).min(-1.0f).max(1.0f).hide_value();
+ b.add_output<decl::Shader>(N_("BSDF"));
+}
static void node_shader_init_glass(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -78,8 +74,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, 0);
- 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_storage(&ntype, "", nullptr, nullptr);
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 cd12eac79e0..0090096fd42 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc
@@ -23,17 +23,17 @@
namespace blender::nodes::node_shader_bsdf_glossy_cc {
-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.5)
+ .min(0.0f)
+ .max(1.0f)
+ .subtype(PROP_FACTOR);
+ b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
+ b.add_output<decl::Shader>(N_("BSDF"));
+}
static void node_shader_init_glossy(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -77,8 +77,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, 0);
- 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_storage(&ntype, "", nullptr, nullptr);
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 dfd8c219f87..0bb0e886a7c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc
@@ -23,19 +23,23 @@
namespace blender::nodes::node_shader_bsdf_hair_cc {
-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")).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")).min(-1.0f).max(1.0f).hide_value();
+ b.add_output<decl::Shader>(N_("BSDF"));
+}
static int node_shader_gpu_bsdf_hair(GPUMaterial *mat,
bNode *node,
@@ -56,8 +60,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, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_bsdf_hair_in, file_ns::sh_node_bsdf_hair_out);
+ ntype.declare = file_ns::node_declare;
node_type_size(&ntype, 150, 60, 200);
node_type_init(&ntype, nullptr);
node_type_storage(&ntype, "", nullptr, nullptr);
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc
index 4916728240c..55ac8bc4ff9 100644
--- a/source/
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list