Cleanup: Compositor: Migrate most converter nodes to new socket builder
This migrates most nodes except for the switch view node. This node requires dynamic sockets so its implementation will be more involved.
This commit is contained in:
@@ -25,21 +25,22 @@
|
||||
|
||||
/* **************** ID Mask ******************** */
|
||||
|
||||
static bNodeSocketTemplate cmp_node_idmask_in[] = {
|
||||
{SOCK_FLOAT, N_("ID value"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_idmask_out[] = {
|
||||
{SOCK_FLOAT, N_("Alpha")},
|
||||
{-1, ""},
|
||||
};
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_idmask_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Float>("ID value").default_value(1.0f).min(0.0f).max(1.0f);
|
||||
b.add_output<decl::Float>("Alpha");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_idmask(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_ID_MASK, "ID Mask", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_idmask_in, cmp_node_idmask_out);
|
||||
ntype.declare = blender::nodes::cmp_node_idmask_declare;
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
@@ -24,20 +24,25 @@
|
||||
#include "node_composite_util.hh"
|
||||
|
||||
/* **************** SCALAR MATH ******************** */
|
||||
static bNodeSocketTemplate cmp_node_math_in[] = {
|
||||
{SOCK_FLOAT, N_("Value"), 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("Value"), 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("Value"), 0.0f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
|
||||
{-1, ""}};
|
||||
|
||||
static bNodeSocketTemplate cmp_node_math_out[] = {{SOCK_FLOAT, N_("Value")}, {-1, ""}};
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_math_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Float>("Value").default_value(0.5f).min(-10000.0f).max(10000.0f);
|
||||
b.add_input<decl::Float>("Value", "Value_001").default_value(0.5f).min(-10000.0f).max(10000.0f);
|
||||
b.add_input<decl::Float>("Value", "Value_002").default_value(0.5f).min(-10000.0f).max(10000.0f);
|
||||
b.add_output<decl::Float>("Value");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_math(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_MATH, "Math", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_math_in, cmp_node_math_out);
|
||||
ntype.declare = blender::nodes::cmp_node_math_declare;
|
||||
node_type_label(&ntype, node_math_label);
|
||||
node_type_update(&ntype, node_math_update);
|
||||
|
||||
|
||||
@@ -25,21 +25,22 @@
|
||||
|
||||
/* **************** Premul and Key Alpha Convert ******************** */
|
||||
|
||||
static bNodeSocketTemplate cmp_node_premulkey_in[] = {
|
||||
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_premulkey_out[] = {
|
||||
{SOCK_RGBA, N_("Image")},
|
||||
{-1, ""},
|
||||
};
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_premulkey_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
|
||||
b.add_output<decl::Color>("Image");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_premulkey(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_premulkey_in, cmp_node_premulkey_out);
|
||||
|
||||
ntype.declare = blender::nodes::cmp_node_premulkey_declare;
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
@@ -24,47 +24,51 @@
|
||||
#include "node_composite_util.hh"
|
||||
|
||||
/* **************** SEPARATE HSVA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_sephsva_in[] = {
|
||||
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_sephsva_out[] = {
|
||||
{SOCK_FLOAT, N_("H")},
|
||||
{SOCK_FLOAT, N_("S")},
|
||||
{SOCK_FLOAT, N_("V")},
|
||||
{SOCK_FLOAT, N_("A")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_sephsva_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
|
||||
b.add_output<decl::Float>("H");
|
||||
b.add_output<decl::Float>("S");
|
||||
b.add_output<decl::Float>("V");
|
||||
b.add_output<decl::Float>("A");
|
||||
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_sephsva(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_SEPHSVA, "Separate HSVA", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_sephsva_in, cmp_node_sephsva_out);
|
||||
|
||||
ntype.declare = blender::nodes::cmp_node_sephsva_declare;
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
/* **************** COMBINE HSVA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_combhsva_in[] = {
|
||||
{SOCK_FLOAT, N_("H"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("S"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("V"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("A"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_combhsva_out[] = {
|
||||
{SOCK_RGBA, N_("Image")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_combhsva_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Float>("H").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("S").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("V").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("A").default_value(1.0f).min(0.0f).max(1.0f);
|
||||
b.add_output<decl::Color>("Image");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_combhsva(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_COMBHSVA, "Combine HSVA", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_combhsva_in, cmp_node_combhsva_out);
|
||||
ntype.declare = blender::nodes::cmp_node_combhsva_declare;
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
@@ -24,47 +24,51 @@
|
||||
#include "node_composite_util.hh"
|
||||
|
||||
/* **************** SEPARATE RGBA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_seprgba_in[] = {
|
||||
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_seprgba_out[] = {
|
||||
{SOCK_FLOAT, N_("R")},
|
||||
{SOCK_FLOAT, N_("G")},
|
||||
{SOCK_FLOAT, N_("B")},
|
||||
{SOCK_FLOAT, N_("A")},
|
||||
{-1, ""},
|
||||
};
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_seprgba_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
|
||||
b.add_output<decl::Float>("R");
|
||||
b.add_output<decl::Float>("G");
|
||||
b.add_output<decl::Float>("B");
|
||||
b.add_output<decl::Float>("A");
|
||||
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_seprgba(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_SEPRGBA, "Separate RGBA", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_seprgba_in, cmp_node_seprgba_out);
|
||||
ntype.declare = blender::nodes::cmp_node_seprgba_declare;
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
/* **************** COMBINE RGBA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_combrgba_in[] = {
|
||||
{SOCK_FLOAT, N_("R"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("G"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("B"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("A"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_combrgba_out[] = {
|
||||
{SOCK_RGBA, N_("Image")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_combrgba_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Float>("R").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("G").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("B").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("A").default_value(1.0f).min(0.0f).max(1.0f);
|
||||
b.add_output<decl::Color>("Image");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_combrgba(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_COMBRGBA, "Combine RGBA", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_combrgba_in, cmp_node_combrgba_out);
|
||||
ntype.declare = blender::nodes::cmp_node_combrgba_declare;
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
@@ -24,15 +24,19 @@
|
||||
#include "node_composite_util.hh"
|
||||
|
||||
/* **************** SEPARATE YCCA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_sepycca_in[] = {
|
||||
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f}, {-1, ""}};
|
||||
static bNodeSocketTemplate cmp_node_sepycca_out[] = {
|
||||
{SOCK_FLOAT, N_("Y")},
|
||||
{SOCK_FLOAT, N_("Cb")},
|
||||
{SOCK_FLOAT, N_("Cr")},
|
||||
{SOCK_FLOAT, N_("A")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_sepycca_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
|
||||
b.add_output<decl::Float>("Y");
|
||||
b.add_output<decl::Float>("Cb");
|
||||
b.add_output<decl::Float>("Cr");
|
||||
b.add_output<decl::Float>("A");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
static void node_composit_init_mode_sepycca(bNodeTree *UNUSED(ntree), bNode *node)
|
||||
{
|
||||
@@ -44,24 +48,26 @@ void register_node_type_cmp_sepycca(void)
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_SEPYCCA, "Separate YCbCrA", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_sepycca_in, cmp_node_sepycca_out);
|
||||
ntype.declare = blender::nodes::cmp_node_sepycca_declare;
|
||||
node_type_init(&ntype, node_composit_init_mode_sepycca);
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
/* **************** COMBINE YCCA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_combycca_in[] = {
|
||||
{SOCK_FLOAT, N_("Y"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("Cb"), 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("Cr"), 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("A"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_combycca_out[] = {
|
||||
{SOCK_RGBA, N_("Image")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_combycca_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Float>("Y").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("Cb").default_value(0.5f).min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("Cr").default_value(0.5f).min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("A").default_value(1.0f).min(0.0f).max(1.0f);
|
||||
b.add_output<decl::Color>("Image");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
static void node_composit_init_mode_combycca(bNodeTree *UNUSED(ntree), bNode *node)
|
||||
{
|
||||
@@ -73,7 +79,7 @@ void register_node_type_cmp_combycca(void)
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_COMBYCCA, "Combine YCbCrA", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_combycca_in, cmp_node_combycca_out);
|
||||
ntype.declare = blender::nodes::cmp_node_combycca_declare;
|
||||
node_type_init(&ntype, node_composit_init_mode_combycca);
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
|
||||
@@ -24,45 +24,51 @@
|
||||
#include "node_composite_util.hh"
|
||||
|
||||
/* **************** SEPARATE YUVA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_sepyuva_in[] = {
|
||||
{SOCK_RGBA, N_("Image"), 1.0f, 1.0f, 1.0f, 1.0f}, {-1, ""}};
|
||||
static bNodeSocketTemplate cmp_node_sepyuva_out[] = {
|
||||
{SOCK_FLOAT, N_("Y")},
|
||||
{SOCK_FLOAT, N_("U")},
|
||||
{SOCK_FLOAT, N_("V")},
|
||||
{SOCK_FLOAT, N_("A")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_sepyuva_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
|
||||
b.add_output<decl::Float>("Y");
|
||||
b.add_output<decl::Float>("U");
|
||||
b.add_output<decl::Float>("V");
|
||||
b.add_output<decl::Float>("A");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_sepyuva(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_SEPYUVA, "Separate YUVA", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_sepyuva_in, cmp_node_sepyuva_out);
|
||||
ntype.declare = blender::nodes::cmp_node_sepyuva_declare;
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
/* **************** COMBINE YUVA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_combyuva_in[] = {
|
||||
{SOCK_FLOAT, N_("Y"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("U"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("V"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{SOCK_FLOAT, N_("A"), 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_combyuva_out[] = {
|
||||
{SOCK_RGBA, N_("Image")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_combyuva_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Float>("Y").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("U").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("V").min(0.0f).max(1.0f);
|
||||
b.add_input<decl::Float>("A").default_value(1.0f).min(0.0f).max(1.0f);
|
||||
b.add_output<decl::Color>("Image");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_combyuva(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_COMBYUVA, "Combine YUVA", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_combyuva_in, cmp_node_combyuva_out);
|
||||
ntype.declare = blender::nodes::cmp_node_combyuva_declare;
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
||||
@@ -24,15 +24,17 @@
|
||||
#include "node_composite_util.hh"
|
||||
|
||||
/* **************** SET ALPHA ******************** */
|
||||
static bNodeSocketTemplate cmp_node_setalpha_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},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_setalpha_out[] = {
|
||||
{SOCK_RGBA, N_("Image")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_setalpha_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Color>("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f});
|
||||
b.add_input<decl::Float>("Alpha").default_value(1.0f).min(0.0f).max(1.0f);
|
||||
b.add_output<decl::Color>("Image");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
static void node_composit_init_setalpha(bNodeTree *UNUSED(ntree), bNode *node)
|
||||
{
|
||||
@@ -46,7 +48,7 @@ void register_node_type_cmp_setalpha(void)
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_SETALPHA, "Set Alpha", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_setalpha_in, cmp_node_setalpha_out);
|
||||
ntype.declare = blender::nodes::cmp_node_setalpha_declare;
|
||||
node_type_init(&ntype, node_composit_init_setalpha);
|
||||
node_type_storage(
|
||||
&ntype, "NodeSetAlpha", node_free_standard_storage, node_copy_standard_storage);
|
||||
|
||||
@@ -24,15 +24,17 @@
|
||||
#include "node_composite_util.hh"
|
||||
|
||||
/* **************** VALTORGB ******************** */
|
||||
static bNodeSocketTemplate cmp_node_valtorgb_in[] = {
|
||||
{SOCK_FLOAT, N_("Fac"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_valtorgb_out[] = {
|
||||
{SOCK_RGBA, N_("Image")},
|
||||
{SOCK_FLOAT, N_("Alpha")},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_valtorgb_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Float>("Fac").default_value(0.5f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
|
||||
b.add_output<decl::Color>("Image");
|
||||
b.add_output<decl::Color>("Alpha");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
static void node_composit_init_valtorgb(bNodeTree *UNUSED(ntree), bNode *node)
|
||||
{
|
||||
@@ -44,7 +46,7 @@ void register_node_type_cmp_valtorgb(void)
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_valtorgb_in, cmp_node_valtorgb_out);
|
||||
ntype.declare = blender::nodes::cmp_node_valtorgb_declare;
|
||||
node_type_size(&ntype, 240, 200, 320);
|
||||
node_type_init(&ntype, node_composit_init_valtorgb);
|
||||
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
|
||||
@@ -53,21 +55,23 @@ void register_node_type_cmp_valtorgb(void)
|
||||
}
|
||||
|
||||
/* **************** RGBTOBW ******************** */
|
||||
static bNodeSocketTemplate cmp_node_rgbtobw_in[] = {
|
||||
{SOCK_RGBA, N_("Image"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
|
||||
{-1, ""},
|
||||
};
|
||||
static bNodeSocketTemplate cmp_node_rgbtobw_out[] = {
|
||||
{SOCK_FLOAT, N_("Val"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
|
||||
{-1, ""},
|
||||
};
|
||||
|
||||
namespace blender::nodes {
|
||||
|
||||
static void cmp_node_rgbtobw_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Color>("Image").default_value({0.8f, 0.8f, 0.8f, 1.0f});
|
||||
b.add_output<decl::Color>("Val");
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
||||
void register_node_type_cmp_rgbtobw(void)
|
||||
{
|
||||
static bNodeType ntype;
|
||||
|
||||
cmp_node_type_base(&ntype, CMP_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTER, 0);
|
||||
node_type_socket_templates(&ntype, cmp_node_rgbtobw_in, cmp_node_rgbtobw_out);
|
||||
ntype.declare = blender::nodes::cmp_node_rgbtobw_declare;
|
||||
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
|
||||
Reference in New Issue
Block a user