Commit: 611da3b7d6d62861f9a5e62d68a43cd560e8838c
Author: Aaron Carlisle
Date: Wed Jan 5 15:46:43 2022 -0500
Branches: master
https://developer.blender.org/rB611da3b7d6d62861f9a5e62d68a43cd560e8838c
Cleanup: Use new socket builder API
===================================================================
M source/blender/nodes/shader/nodes/node_shader_camera.cc
M source/blender/nodes/shader/nodes/node_shader_displacement.cc
M source/blender/nodes/shader/nodes/node_shader_gamma.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_object_info.cc
M source/blender/nodes/shader/nodes/node_shader_output_aov.cc
M source/blender/nodes/shader/nodes/node_shader_output_light.cc
M source/blender/nodes/shader/nodes/node_shader_output_linestyle.cc
M source/blender/nodes/shader/nodes/node_shader_output_material.cc
M source/blender/nodes/shader/nodes/node_shader_output_world.cc
M source/blender/nodes/shader/nodes/node_shader_shader_to_rgb.cc
M source/blender/nodes/shader/nodes/node_shader_tangent.cc
M source/blender/nodes/shader/nodes/node_shader_uv_along_stroke.cc
M source/blender/nodes/shader/nodes/node_shader_uvmap.cc
M source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc
M source/blender/nodes/shader/nodes/node_shader_vertex_color.cc
M source/blender/nodes/shader/nodes/node_shader_volume_info.cc
M source/blender/nodes/shader/nodes/node_shader_volume_scatter.cc
M source/blender/nodes/shader/nodes/node_shader_wireframe.cc
===================================================================
diff --git a/source/blender/nodes/shader/nodes/node_shader_camera.cc
b/source/blender/nodes/shader/nodes/node_shader_camera.cc
index ab8a98f47fd..b9c624faed9 100644
--- a/source/blender/nodes/shader/nodes/node_shader_camera.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_camera.cc
@@ -25,13 +25,12 @@
namespace blender::nodes::node_shader_camera_cc {
-/* **************** CAMERA INFO ******************** */
-static bNodeSocketTemplate sh_node_camera_out[] = {
- {SOCK_VECTOR, N_("View Vector")},
- {SOCK_FLOAT, N_("View Z Depth")},
- {SOCK_FLOAT, N_("View Distance")},
- {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Vector>(N_("View Vector"));
+ b.add_output<decl::Float>(N_("View Z Depth"));
+ b.add_output<decl::Float>(N_("View Distance"));
+}
static int gpu_shader_camera(GPUMaterial *mat,
bNode *node,
@@ -55,7 +54,7 @@ void register_node_type_sh_camera()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_CAMERA, "Camera Data", NODE_CLASS_INPUT);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_camera_out);
+ ntype.declare = file_ns::node_declare;
node_type_gpu(&ntype, file_ns::gpu_shader_camera);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/shader/nodes/node_shader_displacement.cc
b/source/blender/nodes/shader/nodes/node_shader_displacement.cc
index ef79e6d5c7e..c56218e795a 100644
--- a/source/blender/nodes/shader/nodes/node_shader_displacement.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_displacement.cc
@@ -21,20 +21,14 @@
namespace blender::nodes::node_shader_displacement_cc {
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_displacement_in[] = {
- {SOCK_FLOAT, N_("Height"), 0.00f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
- {SOCK_FLOAT, N_("Midlevel"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
- {SOCK_FLOAT, N_("Scale"), 1.0f, 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_displacement_out[] = {
- {SOCK_VECTOR, N_("Displacement"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+
b.add_input<decl::Float>(N_("Height")).default_value(0.0f).min(0.0f).max(1000.0f);
+
b.add_input<decl::Float>(N_("Midlevel")).default_value(0.0f).min(0.0f).max(1000.0f);
+
b.add_input<decl::Float>(N_("Scale")).default_value(1.0f).min(0.0f).max(1000.0f);
+ b.add_input<decl::Vector>(N_("Normal")).hide_value();
+ b.add_output<decl::Vector>(N_("Displacement"));
+}
static void node_shader_init_displacement(bNodeTree *UNUSED(ntree), bNode
*node)
{
@@ -80,8 +74,7 @@ void register_node_type_sh_displacement()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_DISPLACEMENT, "Displacement",
NODE_CLASS_OP_VECTOR);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_displacement_in,
file_ns::sh_node_displacement_out);
+ ntype.declare = file_ns::node_declare;
node_type_init(&ntype, file_ns::node_shader_init_displacement);
node_type_gpu(&ntype, file_ns::gpu_shader_displacement);
diff --git a/source/blender/nodes/shader/nodes/node_shader_gamma.cc
b/source/blender/nodes/shader/nodes/node_shader_gamma.cc
index b545c0fce5b..98a287b08da 100644
--- a/source/blender/nodes/shader/nodes/node_shader_gamma.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_gamma.cc
@@ -21,18 +21,16 @@
namespace blender::nodes::node_shader_gamma_cc {
-/* **************** Gamma Tools ******************** */
-
-static bNodeSocketTemplate sh_node_gamma_in[] = {
- {SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f},
- {SOCK_FLOAT, N_("Gamma"), 1.0f, 0.0f, 0.0f, 0.0f, 0.001f, 10.0f,
PROP_UNSIGNED},
- {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_gamma_out[] = {
- {SOCK_RGBA, N_("Color")},
- {-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_("Gamma"))
+ .default_value(1.0f)
+ .min(0.001f)
+ .max(10.0f)
+ .subtype(PROP_UNSIGNED);
+ b.add_output<decl::Color>(N_("Color"));
+}
static int node_shader_gpu_gamma(GPUMaterial *mat,
bNode *node,
@@ -52,7 +50,7 @@ void register_node_type_sh_gamma()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_GAMMA, "Gamma", NODE_CLASS_OP_COLOR);
- node_type_socket_templates(&ntype, file_ns::sh_node_gamma_in,
file_ns::sh_node_gamma_out);
+ ntype.declare = file_ns::node_declare;
node_type_gpu(&ntype, file_ns::node_shader_gpu_gamma);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/shader/nodes/node_shader_holdout.cc
b/source/blender/nodes/shader/nodes/node_shader_holdout.cc
index 5a939d0b4f3..4f6f8a639de 100644
--- a/source/blender/nodes/shader/nodes/node_shader_holdout.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_holdout.cc
@@ -21,16 +21,10 @@
namespace blender::nodes::node_shader_holdout_cc {
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_holdout_in[] = {
- {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_holdout_out[] = {
- {SOCK_SHADER, N_("Holdout")},
- {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Shader>(N_("Holdout"));
+}
static int gpu_shader_rgb(GPUMaterial *mat,
bNode *node,
@@ -51,7 +45,7 @@ void register_node_type_sh_holdout()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_HOLDOUT, "Holdout", NODE_CLASS_SHADER);
- node_type_socket_templates(&ntype, file_ns::sh_node_holdout_in,
file_ns::sh_node_holdout_out);
+ ntype.declare = file_ns::node_declare;
node_type_gpu(&ntype, file_ns::gpu_shader_rgb);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/shader/nodes/node_shader_mix_shader.cc
b/source/blender/nodes/shader/nodes/node_shader_mix_shader.cc
index d18ae46fc47..c320fafa2ef 100644
--- a/source/blender/nodes/shader/nodes/node_shader_mix_shader.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_mix_shader.cc
@@ -21,18 +21,12 @@
namespace blender::nodes::node_shader_mix_shader_cc {
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_mix_shader_in[] = {
- {SOCK_FLOAT, N_("Fac"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
- {SOCK_SHADER, N_("Shader")},
- {SOCK_SHADER, N_("Shader")},
- {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_mix_shader_out[] = {
- {SOCK_SHADER, N_("Shader")},
- {-1, ""},
+static void node_declare(NodeDeclarationBuilder &b)
+{
+
b.add_input<decl::Float>(N_("Fac")).default_value(0.5f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
+ b.add_input<decl::Shader>(N_("Shader"));
+ b.add_input<decl::Shader>(N_("Shader"), "Shader_001");
+ b.add_output<decl::Shader>(N_("Shader"));
};
static int node_shader_gpu_mix_shader(GPUMaterial *mat,
@@ -54,8 +48,7 @@ void register_node_type_sh_mix_shader()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_MIX_SHADER, "Mix Shader",
NODE_CLASS_SHADER);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_mix_shader_in, file_ns::sh_node_mix_shader_out);
+ ntype.declare = file_ns::node_declare;
node_type_gpu(&ntype, file_ns::node_shader_gpu_mix_shader);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/shader/nodes/node_shader_object_info.cc
b/source/blender/nodes/shader/nodes/node_shader_object_info.cc
index bbc4bd0015c..7bc7039d11e 100644
--- a/source/blender/nodes/shader/nodes/node_shader_object_info.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_object_info.cc
@@ -21,16 +21,14 @@
namespace blender::nodes::node_shader_object_info_cc {
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_object_info_out[] = {
- {SOCK_VECTOR, N_("Location"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- {SOCK_RGBA, N_("Color"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- {SOCK_FLOAT, N_("Object Index"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- {SOCK_FLOAT, N_("Material Index"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- {SOCK_FLOAT, N_("Random"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- {-1, ""},
-};
+static void node_declare(NodeDeclarationBuilder &b)
+{
+ b.add_output<decl::Vector>(N_("Location"));
+ b.add_output<decl::Color>(N_("Color"));
+ b.add_output<decl::Float>(N_("Object Index"));
+ b.add_output<decl::Float>(N_("Material Index"));
+ b.add_output<decl::Float>(N_("Random"));
+}
static int node_shader_gpu_object_info(GPUMaterial *mat,
bNode *node,
@@ -60,7 +58,7 @@ void register_node_type_sh_object_info()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_OBJECT_INFO, "Object Info",
NODE_CLASS_INPUT);
- node_type_socket_templates(&ntype, nullptr,
file_ns::sh_node_object_info_out);
+ ntype.declare = file_ns::node_declare;
node_type_gpu(&ntype, file_ns::node_shader_gpu_object_info);
nodeRegisterType(&ntype);
diff --git a/source/blender/nodes/shader/nodes/node_shader_output_aov.cc
b/source/blender/nodes/shader/nodes/node_shader_output_aov.cc
index 200ccef7404..58a075e9e05 100644
--- a/source/blender/nodes/shader/nodes/node_shader_output_aov.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_output_aov.cc
@@ -23,12 +23,10 @@
namespace blender::nodes::node_shader_output_aov_cc {
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_output_aov_in[] = {
- {SOCK_RGBA, N_("Color"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- {SOCK_FLOAT, N_("Value"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- {-1, ""},
+static void node_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>(N_("Color")).default_value({0.0f, 0.0f, 0.0f,
1.0f});
+
b.add_input<decl::Float>(N_("Value")).default_value(0.0f).min(0.0f).max(1.0f);
};
static void node_shader_init_output_aov(bNodeTree *UNUSED(ntree), bNode *node)
@@ -64,7 +62,7 @@ void register_node_type_sh_output_aov()
static bNodeType n
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs