Cleanup: Use new socket builder API

This commit is contained in:
2022-01-05 00:59:00 -05:00
parent 458be2ecc4
commit b7073fa797
5 changed files with 33 additions and 60 deletions

View File

@@ -21,18 +21,12 @@
namespace blender::nodes::node_shader_add_shader_cc {
/* **************** OUTPUT ******************** */
static bNodeSocketTemplate sh_node_add_shader_in[] = {
{SOCK_SHADER, N_("Shader")},
{SOCK_SHADER, N_("Shader")},
{-1, ""},
};
static bNodeSocketTemplate sh_node_add_shader_out[] = {
{SOCK_SHADER, N_("Shader")},
{-1, ""},
};
static void node_declare(NodeDeclarationBuilder &b)
{
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_add_shader(GPUMaterial *mat,
bNode *node,
@@ -53,8 +47,7 @@ void register_node_type_sh_add_shader()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_ADD_SHADER, "Add Shader", NODE_CLASS_SHADER);
node_type_socket_templates(
&ntype, file_ns::sh_node_add_shader_in, file_ns::sh_node_add_shader_out);
ntype.declare = file_ns::node_declare;
node_type_gpu(&ntype, file_ns::node_shader_gpu_add_shader);
nodeRegisterType(&ntype);

View File

@@ -21,20 +21,14 @@
namespace blender::nodes::node_shader_ambient_occlusion_cc {
/* **************** OUTPUT ******************** */
static bNodeSocketTemplate sh_node_ambient_occlusion_in[] = {
{SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
{SOCK_FLOAT, N_("Distance"), 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_ambient_occlusion_out[] = {
{SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
{SOCK_FLOAT, N_("AO"), 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({1.0f, 1.0f, 1.0f, 1.0f});
b.add_input<decl::Float>(N_("Distance")).default_value(1.0f).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::Color>(N_("Color"));
b.add_output<decl::Float>(N_("AO"));
}
static int node_shader_gpu_ambient_occlusion(GPUMaterial *mat,
bNode *node,
@@ -76,8 +70,7 @@ void register_node_type_sh_ambient_occlusion()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_AMBIENT_OCCLUSION, "Ambient Occlusion", NODE_CLASS_INPUT);
node_type_socket_templates(
&ntype, file_ns::sh_node_ambient_occlusion_in, file_ns::sh_node_ambient_occlusion_out);
ntype.declare = file_ns::node_declare;
node_type_init(&ntype, file_ns::node_shader_init_ambient_occlusion);
node_type_gpu(&ntype, file_ns::node_shader_gpu_ambient_occlusion);

View File

@@ -21,16 +21,11 @@
namespace blender::nodes::node_shader_blackbody_cc {
/* **************** Blackbody ******************** */
static bNodeSocketTemplate sh_node_blackbody_in[] = {
{SOCK_FLOAT, N_("Temperature"), 1500.0f, 0.0f, 0.0f, 0.0f, 800.0f, 12000.0f},
{-1, ""},
};
static bNodeSocketTemplate sh_node_blackbody_out[] = {
{SOCK_RGBA, N_("Color")},
{-1, ""},
};
static void node_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Float>(N_("Temperature")).default_value(1500.0f).min(800.0f).max(12000.0f);
b.add_output<decl::Color>(N_("Color"));
}
static int node_shader_gpu_blackbody(GPUMaterial *mat,
bNode *node,
@@ -59,9 +54,8 @@ void register_node_type_sh_blackbody()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BLACKBODY, "Blackbody", NODE_CLASS_CONVERTER);
ntype.declare = file_ns::node_declare;
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
node_type_socket_templates(
&ntype, file_ns::sh_node_blackbody_in, file_ns::sh_node_blackbody_out);
node_type_gpu(&ntype, file_ns::node_shader_gpu_blackbody);
nodeRegisterType(&ntype);

View File

@@ -25,11 +25,10 @@
namespace blender::nodes::node_shader_rgb_cc {
/* **************** RGB ******************** */
static bNodeSocketTemplate sh_node_rgb_out[] = {
{SOCK_RGBA, N_("Color"), 0.5f, 0.5f, 0.5f, 1.0f},
{-1, ""},
};
static void node_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Color>(N_("Color")).default_value({0.5f, 0.5f, 0.5f, 1.0f});
}
static int gpu_shader_rgb(GPUMaterial *mat,
bNode *node,
@@ -50,7 +49,7 @@ void register_node_type_sh_rgb()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_RGB, "RGB", NODE_CLASS_INPUT);
node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_rgb_out);
ntype.declare = file_ns::node_declare;
node_type_gpu(&ntype, file_ns::gpu_shader_rgb);
nodeRegisterType(&ntype);

View File

@@ -21,16 +21,11 @@
namespace blender::nodes::node_shader_wavelength_cc {
/* **************** Wavelength ******************** */
static bNodeSocketTemplate sh_node_wavelength_in[] = {
{SOCK_FLOAT, N_("Wavelength"), 500.0f, 0.0f, 0.0f, 0.0f, 380.0f, 780.0f},
{-1, ""},
};
static bNodeSocketTemplate sh_node_wavelength_out[] = {
{SOCK_RGBA, N_("Color")},
{-1, ""},
};
static void node_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Float>(N_("Wavelength")).default_value(500.0f).min(380.0f).max(780.0f);
b.add_output<decl::Color>(N_("Color"));
}
static int node_shader_gpu_wavelength(GPUMaterial *mat,
bNode *node,
@@ -69,9 +64,8 @@ void register_node_type_sh_wavelength()
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_WAVELENGTH, "Wavelength", NODE_CLASS_CONVERTER);
ntype.declare = file_ns::node_declare;
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
node_type_socket_templates(
&ntype, file_ns::sh_node_wavelength_in, file_ns::sh_node_wavelength_out);
node_type_gpu(&ntype, file_ns::node_shader_gpu_wavelength);
nodeRegisterType(&ntype);