Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc')
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc23
1 files changed, 8 insertions, 15 deletions
diff --git a/source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc b/source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc
index fbdb7177a93..3486eda1635 100644
--- a/source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc
@@ -21,19 +21,13 @@
namespace blender::nodes::node_shader_vector_displacement_cc {
-/* **************** OUTPUT ******************** */
-
-static bNodeSocketTemplate sh_node_vector_displacement_in[] = {
- {SOCK_RGBA, N_("Vector"), 0.00f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f, PROP_NONE, SOCK_HIDE_VALUE},
- {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},
- {-1, ""},
-};
-
-static bNodeSocketTemplate sh_node_vector_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::Color>(N_("Vector")).hide_value();
+ 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_output<decl::Vector>(N_("Displacement"));
+}
static void node_shader_init_vector_displacement(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -76,8 +70,7 @@ void register_node_type_sh_vector_displacement()
sh_node_type_base(
&ntype, SH_NODE_VECTOR_DISPLACEMENT, "Vector Displacement", NODE_CLASS_OP_VECTOR);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_vector_displacement_in, file_ns::sh_node_vector_displacement_out);
+ ntype.declare = file_ns::node_declare;
node_type_init(&ntype, file_ns::node_shader_init_vector_displacement);
node_type_gpu(&ntype, file_ns::gpu_shader_vector_displacement);