Cleanup: Compositor: Migrate most output nodes to new socket builder

This migrates most nodes except for the file output node.
This node requires dynamic sockets so its implementation will be more involved.
This commit is contained in:
Aaron Carlisle
2021-09-28 20:13:42 -04:00
parent e81533b25e
commit 84251acfcc
4 changed files with 46 additions and 29 deletions

View File

@@ -24,19 +24,24 @@
#include "node_composite_util.hh"
/* **************** COMPOSITE ******************** */
static bNodeSocketTemplate cmp_node_composite_in[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_FLOAT, N_("Alpha"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{SOCK_FLOAT, N_("Z"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{-1, ""},
};
namespace blender::nodes {
static void cmp_node_composite_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Color>("Image");
b.add_input<decl::Float>("Alpha").default_value(1.0f).min(0.0f).max(1.0f);
b.add_input<decl::Float>("Z").default_value(1.0f).min(0.0f).max(1.0f);
}
} // namespace blender::nodes
void register_node_type_cmp_composite(void)
{
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMPOSITE, "Composite", NODE_CLASS_OUTPUT, NODE_PREVIEW);
node_type_socket_templates(&ntype, cmp_node_composite_in, nullptr);
ntype.declare = blender::nodes::cmp_node_composite_declare;
/* Do not allow muting for this node. */
node_type_internal_links(&ntype, nullptr);

View File

@@ -24,16 +24,17 @@
#include "node_composite_util.hh"
/* **************** LEVELS ******************** */
static bNodeSocketTemplate cmp_node_view_levels_in[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
{-1, ""},
};
static bNodeSocketTemplate cmp_node_view_levels_out[] = {
{SOCK_FLOAT, N_("Mean")},
{SOCK_FLOAT, N_("Std Dev")},
{-1, ""},
};
namespace blender::nodes {
static void cmp_node_levels_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Color>("Image");
b.add_output<decl::Float>("Mean");
b.add_output<decl::Float>("Std Dev");
}
} // namespace blender::nodes
static void node_composit_init_view_levels(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -45,7 +46,7 @@ void register_node_type_cmp_view_levels(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VIEW_LEVELS, "Levels", NODE_CLASS_OUTPUT, NODE_PREVIEW);
node_type_socket_templates(&ntype, cmp_node_view_levels_in, cmp_node_view_levels_out);
ntype.declare = blender::nodes::cmp_node_levels_declare;
node_type_init(&ntype, node_composit_init_view_levels);
nodeRegisterType(&ntype);

View File

@@ -27,11 +27,16 @@
#include "BKE_image.h"
/* **************** SPLIT VIEWER ******************** */
static bNodeSocketTemplate cmp_node_splitviewer_in[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
{-1, ""},
};
namespace blender::nodes {
static void cmp_node_splitviewer_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Color>("Image");
b.add_input<decl::Color>("Image");
}
} // namespace blender::nodes
static void node_composit_init_splitviewer(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -50,7 +55,7 @@ void register_node_type_cmp_splitviewer(void)
cmp_node_type_base(
&ntype, CMP_NODE_SPLITVIEWER, "Split Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW);
node_type_socket_templates(&ntype, cmp_node_splitviewer_in, nullptr);
ntype.declare = blender::nodes::cmp_node_splitviewer_declare;
node_type_init(&ntype, node_composit_init_splitviewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);

View File

@@ -27,11 +27,17 @@
#include "BKE_image.h"
/* **************** VIEWER ******************** */
static bNodeSocketTemplate cmp_node_viewer_in[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_FLOAT, N_("Alpha"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{SOCK_FLOAT, N_("Z"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{-1, ""}};
namespace blender::nodes {
static void cmp_node_viewer_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Color>("Image");
b.add_input<decl::Float>("Alpha").default_value(1.0f).min(0.0f).max(1.0f);
b.add_input<decl::Float>("Z").default_value(1.0f).min(0.0f).max(1.0f);
}
} // namespace blender::nodes
static void node_composit_init_viewer(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -50,7 +56,7 @@ void register_node_type_cmp_viewer(void)
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW);
node_type_socket_templates(&ntype, cmp_node_viewer_in, nullptr);
ntype.declare = blender::nodes::cmp_node_viewer_declare;
node_type_init(&ntype, node_composit_init_viewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);