Cleanup: Composite nodes: add namespace for every file

This puts all static functions in composite node files into a new
namespace. This allows using unity build which can improve
compile times significantly.

This is a follow up on rB1df8abff257030ba79bc23dc321f35494f4d91c5
but for compositor nodes.

The namespace name is derived from the file name.
That makes it possible to write some tooling that checks the names later on.
The filename extension (`cc`) is added to the namespace name as well.
his also possibly simplifies tooling but also makes it more obvious that this namespace is specific to a file.

Reviewed By: JacquesLucke, HooglyBoogly, jbakker

Differential Revision: https://developer.blender.org/D13466
This commit is contained in:
Aaron Carlisle 2022-01-11 02:10:36 -05:00
parent f2fb9a0c59
commit fd922f5940
84 changed files with 721 additions and 508 deletions

View File

@ -28,7 +28,7 @@
/* **************** ALPHAOVER ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_alpha_over_cc {
static void cmp_node_alphaover_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_alphaover_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_alphaover_init(bNodeTree *UNUSED(ntree), bNode *node)
{
node->storage = MEM_cnew<NodeTwoFloats>(__func__);
@ -54,14 +52,18 @@ static void node_composit_buts_alphaover(uiLayout *layout, bContext *UNUSED(C),
uiItemR(col, ptr, "premul", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_alpha_over_cc
void register_node_type_cmp_alphaover()
{
namespace file_ns = blender::nodes::node_composite_alpha_over_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_ALPHAOVER, "Alpha Over", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_alphaover_declare;
ntype.draw_buttons = node_composit_buts_alphaover;
node_type_init(&ntype, node_alphaover_init);
ntype.declare = file_ns::cmp_node_alphaover_declare;
ntype.draw_buttons = file_ns::node_composit_buts_alphaover;
node_type_init(&ntype, file_ns::node_alphaover_init);
node_type_storage(
&ntype, "NodeTwoFloats", node_free_standard_storage, node_copy_standard_storage);

View File

@ -30,7 +30,7 @@
/* **************** Anti-Aliasing (SMAA 1x) ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_antialiasing_cc {
static void cmp_node_antialiasing_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_antialiasing_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_antialiasing(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeAntiAliasingData *data = MEM_cnew<NodeAntiAliasingData>(__func__);
@ -62,16 +60,20 @@ static void node_composit_buts_antialiasing(uiLayout *layout, bContext *UNUSED(C
uiItemR(col, ptr, "corner_rounding", 0, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_antialiasing_cc
void register_node_type_cmp_antialiasing()
{
namespace file_ns = blender::nodes::node_composite_antialiasing_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_ANTIALIASING, "Anti-Aliasing", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_antialiasing_declare;
ntype.draw_buttons = node_composit_buts_antialiasing;
ntype.declare = file_ns::cmp_node_antialiasing_declare;
ntype.draw_buttons = file_ns::node_composit_buts_antialiasing;
ntype.flag |= NODE_PREVIEW;
node_type_size(&ntype, 170, 140, 200);
node_type_init(&ntype, node_composit_init_antialiasing);
node_type_init(&ntype, file_ns::node_composit_init_antialiasing);
node_type_storage(
&ntype, "NodeAntiAliasingData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -28,7 +28,7 @@
/* **************** BILATERALBLUR ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_bilateralblur_cc {
static void cmp_node_bilateralblur_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_bilateralblur_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_bilateralblur(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeBilateralBlurData *nbbd = MEM_cnew<NodeBilateralBlurData>(__func__);
@ -60,14 +58,18 @@ static void node_composit_buts_bilateralblur(uiLayout *layout,
uiItemR(col, ptr, "sigma_space", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_bilateralblur_cc
void register_node_type_cmp_bilateralblur()
{
namespace file_ns = blender::nodes::node_composite_bilateralblur_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_BILATERALBLUR, "Bilateral Blur", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_bilateralblur_declare;
ntype.draw_buttons = node_composit_buts_bilateralblur;
node_type_init(&ntype, node_composit_init_bilateralblur);
ntype.declare = file_ns::cmp_node_bilateralblur_declare;
ntype.draw_buttons = file_ns::node_composit_buts_bilateralblur;
node_type_init(&ntype, file_ns::node_composit_init_bilateralblur);
node_type_storage(
&ntype, "NodeBilateralBlurData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -31,7 +31,7 @@
/* **************** BLUR ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_blur_cc {
static void cmp_node_blur_declare(NodeDeclarationBuilder &b)
{
@ -40,8 +40,6 @@ static void cmp_node_blur_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_blur(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeBlurData *data = MEM_cnew<NodeBlurData>(__func__);
@ -90,15 +88,19 @@ static void node_composit_buts_blur(uiLayout *layout, bContext *UNUSED(C), Point
uiItemR(col, ptr, "use_extended_bounds", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_blur_cc
void register_node_type_cmp_blur()
{
namespace file_ns = blender::nodes::node_composite_blur_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_BLUR, "Blur", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_blur_declare;
ntype.draw_buttons = node_composit_buts_blur;
ntype.declare = file_ns::cmp_node_blur_declare;
ntype.draw_buttons = file_ns::node_composit_buts_blur;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_blur);
node_type_init(&ntype, file_ns::node_composit_init_blur);
node_type_storage(
&ntype, "NodeBlurData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -29,7 +29,7 @@
/* **************** BLUR ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_bokehblur_cc {
static void cmp_node_bokehblur_declare(NodeDeclarationBuilder &b)
{
@ -40,8 +40,6 @@ static void cmp_node_bokehblur_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_bokehblur(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom3 = 4.0f;
@ -56,14 +54,18 @@ static void node_composit_buts_bokehblur(uiLayout *layout, bContext *UNUSED(C),
uiItemR(layout, ptr, "use_extended_bounds", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_bokehblur_cc
void register_node_type_cmp_bokehblur()
{
namespace file_ns = blender::nodes::node_composite_bokehblur_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_BOKEHBLUR, "Bokeh Blur", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_bokehblur_declare;
ntype.draw_buttons = node_composit_buts_bokehblur;
node_type_init(&ntype, node_composit_init_bokehblur);
ntype.declare = file_ns::cmp_node_bokehblur_declare;
ntype.draw_buttons = file_ns::node_composit_buts_bokehblur;
node_type_init(&ntype, file_ns::node_composit_init_bokehblur);
nodeRegisterType(&ntype);
}

View File

@ -28,15 +28,13 @@
/* **************** Bokeh image Tools ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_bokehimage_cc {
static void cmp_node_bokehimage_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_bokehimage(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeBokehImage *data = MEM_cnew<NodeBokehImage>(__func__);
@ -63,15 +61,19 @@ static void node_composit_buts_bokehimage(uiLayout *layout, bContext *UNUSED(C),
uiItemR(layout, ptr, "shift", UI_ITEM_R_SPLIT_EMPTY_NAME | UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_bokehimage_cc
void register_node_type_cmp_bokehimage()
{
namespace file_ns = blender::nodes::node_composite_bokehimage_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_BOKEHIMAGE, "Bokeh Image", NODE_CLASS_INPUT);
ntype.declare = blender::nodes::cmp_node_bokehimage_declare;
ntype.draw_buttons = node_composit_buts_bokehimage;
ntype.declare = file_ns::cmp_node_bokehimage_declare;
ntype.draw_buttons = file_ns::node_composit_buts_bokehimage;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_bokehimage);
node_type_init(&ntype, file_ns::node_composit_init_bokehimage);
node_type_storage(
&ntype, "NodeBokehImage", node_free_standard_storage, node_copy_standard_storage);

View File

@ -28,7 +28,7 @@
/* **************** SCALAR MATH ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_boxmask_cc {
static void cmp_node_boxmask_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_boxmask_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Mask"));
}
} // namespace blender::nodes
static void node_composit_init_boxmask(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeBoxMask *data = MEM_cnew<NodeBoxMask>(__func__);
@ -66,14 +64,18 @@ static void node_composit_buts_boxmask(uiLayout *layout, bContext *UNUSED(C), Po
uiItemR(layout, ptr, "mask_type", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_boxmask_cc
void register_node_type_cmp_boxmask()
{
namespace file_ns = blender::nodes::node_composite_boxmask_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MASK_BOX, "Box Mask", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_boxmask_declare;
ntype.draw_buttons = node_composit_buts_boxmask;
node_type_init(&ntype, node_composit_init_boxmask);
ntype.declare = file_ns::cmp_node_boxmask_declare;
ntype.draw_buttons = file_ns::node_composit_buts_boxmask;
node_type_init(&ntype, file_ns::node_composit_init_boxmask);
node_type_storage(&ntype, "NodeBoxMask", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* **************** Bright and Contrast ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_brightness_cc {
static void cmp_node_brightcontrast_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_brightcontrast_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_brightcontrast(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 = 1;
@ -52,14 +50,18 @@ static void node_composit_buts_brightcontrast(uiLayout *layout,
uiItemR(layout, ptr, "use_premultiply", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_brightness_cc
void register_node_type_cmp_brightcontrast()
{
namespace file_ns = blender::nodes::node_composite_brightness_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_brightcontrast_declare;
ntype.draw_buttons = node_composit_buts_brightcontrast;
node_type_init(&ntype, node_composit_init_brightcontrast);
ntype.declare = file_ns::cmp_node_brightcontrast_declare;
ntype.draw_buttons = file_ns::node_composit_buts_brightcontrast;
node_type_init(&ntype, file_ns::node_composit_init_brightcontrast);
nodeRegisterType(&ntype);
}

View File

@ -30,7 +30,7 @@
/* ******************* Channel Matte Node ********************************* */
namespace blender::nodes {
namespace blender::nodes::node_composite_channel_matte_cc {
static void cmp_node_channel_matte_declare(NodeDeclarationBuilder &b)
{
@ -39,8 +39,6 @@ static void cmp_node_channel_matte_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Matte"));
}
} // namespace blender::nodes
static void node_composit_init_channel_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeChroma *c = MEM_cnew<NodeChroma>(__func__);
@ -97,15 +95,19 @@ static void node_composit_buts_channel_matte(uiLayout *layout,
col, ptr, "limit_min", UI_ITEM_R_SPLIT_EMPTY_NAME | UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_channel_matte_cc
void register_node_type_cmp_channel_matte()
{
namespace file_ns = blender::nodes::node_composite_channel_matte_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CHANNEL_MATTE, "Channel Key", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_channel_matte_declare;
ntype.draw_buttons = node_composit_buts_channel_matte;
ntype.declare = file_ns::cmp_node_channel_matte_declare;
ntype.draw_buttons = file_ns::node_composit_buts_channel_matte;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_channel_matte);
node_type_init(&ntype, file_ns::node_composit_init_channel_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* ******************* Chroma Key ********************************************************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_chroma_matte_cc {
static void cmp_node_chroma_matte_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_chroma_matte_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Matte"));
}
} // namespace blender::nodes
static void node_composit_init_chroma_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeChroma *c = MEM_cnew<NodeChroma>(__func__);
@ -67,15 +65,19 @@ static void node_composit_buts_chroma_matte(uiLayout *layout, bContext *UNUSED(C
// uiItemR(col, ptr, "shadow_adjust", UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_chroma_matte_cc
void register_node_type_cmp_chroma_matte()
{
namespace file_ns = blender::nodes::node_composite_chroma_matte_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CHROMA_MATTE, "Chroma Key", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_chroma_matte_declare;
ntype.draw_buttons = node_composit_buts_chroma_matte;
ntype.declare = file_ns::cmp_node_chroma_matte_declare;
ntype.draw_buttons = file_ns::node_composit_buts_chroma_matte;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_chroma_matte);
node_type_init(&ntype, file_ns::node_composit_init_chroma_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* ******************* Color Matte ********************************************************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_color_matte_cc {
static void cmp_node_color_matte_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_color_matte_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Matte"));
}
} // namespace blender::nodes
static void node_composit_init_color_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeChroma *c = MEM_cnew<NodeChroma>(__func__);
@ -68,15 +66,19 @@ static void node_composit_buts_color_matte(uiLayout *layout, bContext *UNUSED(C)
col, ptr, "color_value", UI_ITEM_R_SPLIT_EMPTY_NAME | UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_color_matte_cc
void register_node_type_cmp_color_matte()
{
namespace file_ns = blender::nodes::node_composite_color_matte_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COLOR_MATTE, "Color Key", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_color_matte_declare;
ntype.draw_buttons = node_composit_buts_color_matte;
ntype.declare = file_ns::cmp_node_color_matte_declare;
ntype.draw_buttons = file_ns::node_composit_buts_color_matte;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_color_matte);
node_type_init(&ntype, file_ns::node_composit_init_color_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -30,7 +30,7 @@
/* ******************* Color Spill Suppression ********************************* */
namespace blender::nodes {
namespace blender::nodes::node_composite_color_spill_cc {
static void cmp_node_color_spill_declare(NodeDeclarationBuilder &b)
{
@ -39,8 +39,6 @@ static void cmp_node_color_spill_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_color_spill(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeColorspill *ncs = MEM_cnew<NodeColorspill>(__func__);
@ -98,14 +96,18 @@ static void node_composit_buts_color_spill(uiLayout *layout, bContext *UNUSED(C)
}
}
} // namespace blender::nodes::node_composite_color_spill_cc
void register_node_type_cmp_color_spill()
{
namespace file_ns = blender::nodes::node_composite_color_spill_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COLOR_SPILL, "Color Spill", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_color_spill_declare;
ntype.draw_buttons = node_composit_buts_color_spill;
node_type_init(&ntype, node_composit_init_color_spill);
ntype.declare = file_ns::cmp_node_color_spill_declare;
ntype.draw_buttons = file_ns::node_composit_buts_color_spill;
node_type_init(&ntype, file_ns::node_composit_init_color_spill);
node_type_storage(
&ntype, "NodeColorspill", node_free_standard_storage, node_copy_standard_storage);

View File

@ -30,17 +30,6 @@
/* ******************* Color Balance ********************************* */
namespace blender::nodes {
static void cmp_node_colorbalance_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Float>(N_("Fac")).default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
b.add_input<decl::Color>(N_("Image")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
/* Sync functions update formula parameters for other modes, such that the result is comparable.
* Note that the results are not exactly the same due to differences in color handling
* (sRGB conversion happens for LGG),
@ -69,6 +58,15 @@ void ntreeCompositColorBalanceSyncFromCDL(bNodeTree *UNUSED(ntree), bNode *node)
}
}
namespace blender::nodes::node_composite_colorbalance_cc {
static void cmp_node_colorbalance_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Float>(N_("Fac")).default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
b.add_input<decl::Color>(N_("Image")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
b.add_output<decl::Color>(N_("Image"));
}
static void node_composit_init_colorbalance(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeColorBalance *n = MEM_cnew<NodeColorBalance>(__func__);
@ -157,16 +155,20 @@ static void node_composit_buts_colorbalance_ex(uiLayout *layout,
}
}
} // namespace blender::nodes::node_composite_colorbalance_cc
void register_node_type_cmp_colorbalance()
{
namespace file_ns = blender::nodes::node_composite_colorbalance_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COLORBALANCE, "Color Balance", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_colorbalance_declare;
ntype.draw_buttons = node_composit_buts_colorbalance;
ntype.draw_buttons_ex = node_composit_buts_colorbalance_ex;
ntype.declare = file_ns::cmp_node_colorbalance_declare;
ntype.draw_buttons = file_ns::node_composit_buts_colorbalance;
ntype.draw_buttons_ex = file_ns::node_composit_buts_colorbalance_ex;
node_type_size(&ntype, 400, 200, 400);
node_type_init(&ntype, node_composit_init_colorbalance);
node_type_init(&ntype, file_ns::node_composit_init_colorbalance);
node_type_storage(
&ntype, "NodeColorBalance", node_free_standard_storage, node_copy_standard_storage);

View File

@ -28,7 +28,7 @@
/* ******************* Color Correction ********************************* */
namespace blender::nodes {
namespace blender::nodes::node_composite_colorcorrection_cc {
static void cmp_node_colorcorrection_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_colorcorrection_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_colorcorrection(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeColorCorrection *n = MEM_cnew<NodeColorCorrection>(__func__);
@ -284,16 +282,20 @@ static void node_composit_buts_colorcorrection_ex(uiLayout *layout,
uiItemR(row, ptr, "midtones_end", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_colorcorrection_cc
void register_node_type_cmp_colorcorrection()
{
namespace file_ns = blender::nodes::node_composite_colorcorrection_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COLORCORRECTION, "Color Correction", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_colorcorrection_declare;
ntype.draw_buttons = node_composit_buts_colorcorrection;
ntype.draw_buttons_ex = node_composit_buts_colorcorrection_ex;
ntype.declare = file_ns::cmp_node_colorcorrection_declare;
ntype.draw_buttons = file_ns::node_composit_buts_colorcorrection;
ntype.draw_buttons_ex = file_ns::node_composit_buts_colorcorrection_ex;
node_type_size(&ntype, 400, 200, 600);
node_type_init(&ntype, node_composit_init_colorcorrection);
node_type_init(&ntype, file_ns::node_composit_init_colorcorrection);
node_type_storage(
&ntype, "NodeColorCorrection", node_free_standard_storage, node_copy_standard_storage);

View File

@ -28,7 +28,7 @@
/* **************** COMPOSITE ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_composite_cc {
static void cmp_node_composite_declare(NodeDeclarationBuilder &b)
{
@ -37,20 +37,22 @@ static void cmp_node_composite_declare(NodeDeclarationBuilder &b)
b.add_input<decl::Float>(N_("Z")).default_value(1.0f).min(0.0f).max(1.0f);
}
} // namespace blender::nodes
static void node_composit_buts_composite(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "use_alpha", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_composite_cc
void register_node_type_cmp_composite()
{
namespace file_ns = blender::nodes::node_composite_composite_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMPOSITE, "Composite", NODE_CLASS_OUTPUT);
ntype.declare = blender::nodes::cmp_node_composite_declare;
ntype.draw_buttons = node_composit_buts_composite;
ntype.declare = file_ns::cmp_node_composite_declare;
ntype.draw_buttons = file_ns::node_composit_buts_composite;
ntype.flag |= NODE_PREVIEW;
ntype.no_muting = true;

View File

@ -30,7 +30,7 @@
#include "IMB_colormanagement.h"
namespace blender::nodes {
namespace blender::nodes::node_composite_convert_color_space_cc {
static void CMP_NODE_CONVERT_COLOR_SPACE_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void CMP_NODE_CONVERT_COLOR_SPACE_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_convert_colorspace(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeConvertColorSpace *ncs = static_cast<NodeConvertColorSpace *>(
@ -65,16 +63,19 @@ static void node_composit_buts_convert_colorspace(uiLayout *layout,
uiItemR(layout, ptr, "to_color_space", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_convert_color_space_cc
void register_node_type_cmp_convert_color_space(void)
{
namespace file_ns = blender::nodes::node_composite_convert_color_space_cc;
static bNodeType ntype;
cmp_node_type_base(
&ntype, CMP_NODE_CONVERT_COLOR_SPACE, "Convert Colorspace", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::CMP_NODE_CONVERT_COLOR_SPACE_declare;
ntype.draw_buttons = node_composit_buts_convert_colorspace;
ntype.declare = file_ns::CMP_NODE_CONVERT_COLOR_SPACE_declare;
ntype.draw_buttons = file_ns::node_composit_buts_convert_colorspace;
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
node_type_init(&ntype, node_composit_init_convert_colorspace);
node_type_init(&ntype, file_ns::node_composit_init_convert_colorspace);
node_type_storage(
&ntype, "NodeConvertColorSpace", node_free_standard_storage, node_copy_standard_storage);

View File

@ -23,7 +23,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_cornerpin_cc {
static void cmp_node_cornerpin_declare(NodeDeclarationBuilder &b)
{
@ -48,14 +48,16 @@ static void cmp_node_cornerpin_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Plane"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_cornerpin_cc
void register_node_type_cmp_cornerpin()
{
namespace file_ns = blender::nodes::node_composite_cornerpin_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CORNERPIN, "Corner Pin", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_cornerpin_declare;
ntype.declare = file_ns::cmp_node_cornerpin_declare;
nodeRegisterType(&ntype);
}

View File

@ -30,7 +30,7 @@
/* **************** Crop ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_crop_cc {
static void cmp_node_crop_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_crop_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_crop(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTwoXYs *nxy = MEM_cnew<NodeTwoXYs>(__func__);
@ -72,14 +70,18 @@ static void node_composit_buts_crop(uiLayout *layout, bContext *UNUSED(C), Point
}
}
} // namespace blender::nodes::node_composite_crop_cc
void register_node_type_cmp_crop()
{
namespace file_ns = blender::nodes::node_composite_crop_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CROP, "Crop", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_crop_declare;
ntype.draw_buttons = node_composit_buts_crop;
node_type_init(&ntype, node_composit_init_crop);
ntype.declare = file_ns::cmp_node_crop_declare;
ntype.draw_buttons = file_ns::node_composit_buts_crop;
node_type_init(&ntype, file_ns::node_composit_init_crop);
node_type_storage(&ntype, "NodeTwoXYs", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -157,16 +157,6 @@ static void cryptomatte_remove(NodeCryptomatte &n, float encoded_hash)
MEM_freeN(entry);
}
static bNodeSocketTemplate cmp_node_cryptomatte_in[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f}, {-1, ""}};
static bNodeSocketTemplate cmp_node_cryptomatte_out[] = {
{SOCK_RGBA, N_("Image")},
{SOCK_FLOAT, N_("Matte")},
{SOCK_RGBA, N_("Pick")},
{-1, ""},
};
void ntreeCompositCryptomatteSyncFromAdd(const Scene *scene, bNode *node)
{
BLI_assert(ELEM(node->type, CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_LEGACY));
@ -241,6 +231,18 @@ CryptomatteSession *ntreeCompositCryptomatteSession(const Scene *scene, bNode *n
return session_ptr.release();
}
namespace blender::nodes::node_composite_cryptomatte_cc {
static bNodeSocketTemplate cmp_node_cryptomatte_in[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f}, {-1, ""}};
static bNodeSocketTemplate cmp_node_cryptomatte_out[] = {
{SOCK_RGBA, N_("Image")},
{SOCK_FLOAT, N_("Matte")},
{SOCK_RGBA, N_("Pick")},
{-1, ""},
};
static void node_init_cryptomatte(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeCryptomatte *user = MEM_cnew<NodeCryptomatte>(__func__);
@ -305,17 +307,23 @@ static bool node_poll_cryptomatte(bNodeType *UNUSED(ntype),
return false;
}
} // namespace blender::nodes::node_composite_cryptomatte_cc
void register_node_type_cmp_cryptomatte()
{
namespace file_ns = blender::nodes::node_composite_cryptomatte_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CRYPTOMATTE, "Cryptomatte", NODE_CLASS_MATTE);
node_type_socket_templates(&ntype, cmp_node_cryptomatte_in, cmp_node_cryptomatte_out);
node_type_socket_templates(
&ntype, file_ns::cmp_node_cryptomatte_in, file_ns::cmp_node_cryptomatte_out);
node_type_size(&ntype, 240, 100, 700);
node_type_init(&ntype, node_init_cryptomatte);
ntype.initfunc_api = node_init_api_cryptomatte;
ntype.poll = node_poll_cryptomatte;
node_type_storage(&ntype, "NodeCryptomatte", node_free_cryptomatte, node_copy_cryptomatte);
node_type_init(&ntype, file_ns::node_init_cryptomatte);
ntype.initfunc_api = file_ns::node_init_api_cryptomatte;
ntype.poll = file_ns::node_poll_cryptomatte;
node_type_storage(
&ntype, "NodeCryptomatte", file_ns::node_free_cryptomatte, file_ns::node_copy_cryptomatte);
nodeRegisterType(&ntype);
}
@ -325,18 +333,6 @@ void register_node_type_cmp_cryptomatte()
/** \name Cryptomatte Legacy
* \{ */
static void node_init_cryptomatte_legacy(bNodeTree *ntree, bNode *node)
{
node_init_cryptomatte(ntree, node);
nodeAddStaticSocket(ntree, node, SOCK_IN, SOCK_RGBA, PROP_NONE, "image", "Image");
/* Add three inputs by default, as recommended by the Cryptomatte specification. */
ntreeCompositCryptomatteAddSocket(ntree, node);
ntreeCompositCryptomatteAddSocket(ntree, node);
ntreeCompositCryptomatteAddSocket(ntree, node);
}
bNodeSocket *ntreeCompositCryptomatteAddSocket(bNodeTree *ntree, bNode *node)
{
BLI_assert(node->type == CMP_NODE_CRYPTOMATTE_LEGACY);
@ -362,14 +358,35 @@ int ntreeCompositCryptomatteRemoveSocket(bNodeTree *ntree, bNode *node)
return 1;
}
namespace blender::nodes::node_composite_cryptomatte_cc {
static void node_init_cryptomatte_legacy(bNodeTree *ntree, bNode *node)
{
namespace file_ns = blender::nodes::node_composite_cryptomatte_cc;
file_ns::node_init_cryptomatte(ntree, node);
nodeAddStaticSocket(ntree, node, SOCK_IN, SOCK_RGBA, PROP_NONE, "image", "Image");
/* Add three inputs by default, as recommended by the Cryptomatte specification. */
ntreeCompositCryptomatteAddSocket(ntree, node);
ntreeCompositCryptomatteAddSocket(ntree, node);
ntreeCompositCryptomatteAddSocket(ntree, node);
}
} // namespace blender::nodes::node_composite_cryptomatte_cc
void register_node_type_cmp_cryptomatte_legacy()
{
namespace legacy_file_ns = blender::nodes::node_composite_cryptomatte_cc;
namespace file_ns = blender::nodes::node_composite_cryptomatte_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CRYPTOMATTE_LEGACY, "Cryptomatte", NODE_CLASS_MATTE);
node_type_socket_templates(&ntype, nullptr, cmp_node_cryptomatte_out);
node_type_init(&ntype, node_init_cryptomatte_legacy);
node_type_storage(&ntype, "NodeCryptomatte", node_free_cryptomatte, node_copy_cryptomatte);
node_type_socket_templates(&ntype, nullptr, file_ns::cmp_node_cryptomatte_out);
node_type_init(&ntype, file_ns::node_init_cryptomatte_legacy);
node_type_storage(
&ntype, "NodeCryptomatte", file_ns::node_free_cryptomatte, file_ns::node_copy_cryptomatte);
nodeRegisterType(&ntype);
}

View File

@ -28,15 +28,13 @@
/* **************** CURVE Time ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_curves_cc {
static void cmp_node_time_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Float>(N_("Fac"));
}
} // namespace blender::nodes
/* custom1 = start_frame, custom2 = end_frame */
static void node_composit_init_curves_time(bNodeTree *UNUSED(ntree), bNode *node)
{
@ -45,14 +43,18 @@ static void node_composit_init_curves_time(bNodeTree *UNUSED(ntree), bNode *node
node->storage = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
}
} // namespace blender::nodes::node_composite_curves_cc
void register_node_type_cmp_curve_time()
{
namespace file_ns = blender::nodes::node_composite_curves_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TIME, "Time", NODE_CLASS_INPUT);
ntype.declare = blender::nodes::cmp_node_time_declare;
ntype.declare = file_ns::cmp_node_time_declare;
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_composit_init_curves_time);
node_type_init(&ntype, file_ns::node_composit_init_curves_time);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
nodeRegisterType(&ntype);
@ -60,7 +62,7 @@ void register_node_type_cmp_curve_time()
/* **************** CURVE VEC ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_curves_cc {
static void cmp_node_curve_vec_declare(NodeDeclarationBuilder &b)
{
@ -68,8 +70,6 @@ static void cmp_node_curve_vec_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Vector>(N_("Vector"));
}
} // namespace blender::nodes
static void node_composit_init_curve_vec(bNodeTree *UNUSED(ntree), bNode *node)
{
node->storage = BKE_curvemapping_add(3, -1.0f, -1.0f, 1.0f, 1.0f);
@ -80,15 +80,19 @@ static void node_buts_curvevec(uiLayout *layout, bContext *UNUSED(C), PointerRNA
uiTemplateCurveMapping(layout, ptr, "mapping", 'v', false, false, false, false);
}
} // namespace blender::nodes::node_composite_curves_cc
void register_node_type_cmp_curve_vec()
{
namespace file_ns = blender::nodes::node_composite_curves_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR);
ntype.declare = blender::nodes::cmp_node_curve_vec_declare;
ntype.draw_buttons = node_buts_curvevec;
ntype.declare = file_ns::cmp_node_curve_vec_declare;
ntype.draw_buttons = file_ns::node_buts_curvevec;
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_composit_init_curve_vec);
node_type_init(&ntype, file_ns::node_composit_init_curve_vec);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
nodeRegisterType(&ntype);
@ -96,7 +100,7 @@ void register_node_type_cmp_curve_vec()
/* **************** CURVE RGB ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_curves_cc {
static void cmp_node_rgbcurves_declare(NodeDeclarationBuilder &b)
{
@ -108,21 +112,23 @@ static void cmp_node_rgbcurves_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode *node)
{
node->storage = BKE_curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f);
}
} // namespace blender::nodes::node_composite_curves_cc
void register_node_type_cmp_curve_rgb()
{
namespace file_ns = blender::nodes::node_composite_curves_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_rgbcurves_declare;
ntype.declare = file_ns::cmp_node_rgbcurves_declare;
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_composit_init_curve_rgb);
node_type_init(&ntype, file_ns::node_composit_init_curve_rgb);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
nodeRegisterType(&ntype);

View File

@ -32,7 +32,7 @@
/* ************ Defocus Node ****************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_defocus_cc {
static void cmp_node_defocus_declare(NodeDeclarationBuilder &b)
{
@ -41,8 +41,6 @@ static void cmp_node_defocus_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_defocus(bNodeTree *UNUSED(ntree), bNode *node)
{
/* defocus node */
@ -99,14 +97,18 @@ static void node_composit_buts_defocus(uiLayout *layout, bContext *C, PointerRNA
uiItemR(sub, ptr, "z_scale", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_defocus_cc
void register_node_type_cmp_defocus()
{
namespace file_ns = blender::nodes::node_composite_defocus_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_DEFOCUS, "Defocus", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_defocus_declare;
ntype.draw_buttons = node_composit_buts_defocus;
node_type_init(&ntype, node_composit_init_defocus);
ntype.declare = file_ns::cmp_node_defocus_declare;
ntype.draw_buttons = file_ns::node_composit_buts_defocus;
node_type_init(&ntype, file_ns::node_composit_init_defocus);
node_type_storage(&ntype, "NodeDefocus", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -30,7 +30,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_denoise_cc {
static void cmp_node_denoise_declare(NodeDeclarationBuilder &b)
{
@ -44,8 +44,6 @@ static void cmp_node_denoise_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_denonise(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeDenoise *ndg = MEM_cnew<NodeDenoise>(__func__);
@ -72,14 +70,18 @@ static void node_composit_buts_denoise(uiLayout *layout, bContext *UNUSED(C), Po
uiItemR(layout, ptr, "use_hdr", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_denoise_cc
void register_node_type_cmp_denoise()
{
namespace file_ns = blender::nodes::node_composite_denoise_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_DENOISE, "Denoise", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_denoise_declare;
ntype.draw_buttons = node_composit_buts_denoise;
node_type_init(&ntype, node_composit_init_denonise);
ntype.declare = file_ns::cmp_node_denoise_declare;
ntype.draw_buttons = file_ns::node_composit_buts_denoise;
node_type_init(&ntype, file_ns::node_composit_init_denonise);
node_type_storage(&ntype, "NodeDenoise", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* **************** FILTER ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_despeckle_cc {
static void cmp_node_despeckle_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_despeckle_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_despeckle(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom3 = 0.5f;
@ -54,15 +52,19 @@ static void node_composit_buts_despeckle(uiLayout *layout, bContext *UNUSED(C),
uiItemR(col, ptr, "threshold_neighbor", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_despeckle_cc
void register_node_type_cmp_despeckle()
{
namespace file_ns = blender::nodes::node_composite_despeckle_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_DESPECKLE, "Despeckle", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_despeckle_declare;
ntype.draw_buttons = node_composit_buts_despeckle;
ntype.declare = file_ns::cmp_node_despeckle_declare;
ntype.draw_buttons = file_ns::node_composit_buts_despeckle;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_despeckle);
node_type_init(&ntype, file_ns::node_composit_init_despeckle);
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* ******************* channel Difference Matte ********************************* */
namespace blender::nodes {
namespace blender::nodes::node_composite_diff_matte_cc {
static void cmp_node_diff_matte_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_diff_matte_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Matte"));
}
} // namespace blender::nodes
static void node_composit_init_diff_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeChroma *c = MEM_cnew<NodeChroma>(__func__);
@ -58,15 +56,19 @@ static void node_composit_buts_diff_matte(uiLayout *layout, bContext *UNUSED(C),
uiItemR(col, ptr, "falloff", UI_ITEM_R_SPLIT_EMPTY_NAME | UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_diff_matte_cc
void register_node_type_cmp_diff_matte()
{
namespace file_ns = blender::nodes::node_composite_diff_matte_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_DIFF_MATTE, "Difference Key", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_diff_matte_declare;
ntype.draw_buttons = node_composit_buts_diff_matte;
ntype.declare = file_ns::cmp_node_diff_matte_declare;
ntype.draw_buttons = file_ns::node_composit_buts_diff_matte;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_diff_matte);
node_type_init(&ntype, file_ns::node_composit_init_diff_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -30,7 +30,7 @@
/* **************** Dilate/Erode ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_dilate_cc {
static void cmp_node_dilate_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_dilate_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Mask"));
}
} // namespace blender::nodes
static void node_composit_init_dilateerode(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeDilateErode *data = MEM_cnew<NodeDilateErode>(__func__);
@ -61,14 +59,18 @@ static void node_composit_buts_dilateerode(uiLayout *layout, bContext *UNUSED(C)
}
}
} // namespace blender::nodes::node_composite_dilate_cc
void register_node_type_cmp_dilateerode()
{
namespace file_ns = blender::nodes::node_composite_dilate_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_DILATEERODE, "Dilate/Erode", NODE_CLASS_OP_FILTER);
ntype.draw_buttons = node_composit_buts_dilateerode;
ntype.declare = blender::nodes::cmp_node_dilate_declare;
node_type_init(&ntype, node_composit_init_dilateerode);
ntype.draw_buttons = file_ns::node_composit_buts_dilateerode;
ntype.declare = file_ns::cmp_node_dilate_declare;
node_type_init(&ntype, file_ns::node_composit_init_dilateerode);
node_type_storage(
&ntype, "NodeDilateErode", node_free_standard_storage, node_copy_standard_storage);

View File

@ -26,7 +26,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_directionalblur_cc {
static void cmp_node_directional_blur_declare(NodeDeclarationBuilder &b)
{
@ -34,8 +34,6 @@ static void cmp_node_directional_blur_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_dblur(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeDBlurData *ndbd = MEM_cnew<NodeDBlurData>(__func__);
@ -69,14 +67,18 @@ static void node_composit_buts_dblur(uiLayout *layout, bContext *UNUSED(C), Poin
uiItemR(layout, ptr, "zoom", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_directionalblur_cc
void register_node_type_cmp_dblur()
{
namespace file_ns = blender::nodes::node_composite_directionalblur_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_DBLUR, "Directional Blur", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_directional_blur_declare;
ntype.draw_buttons = node_composit_buts_dblur;
node_type_init(&ntype, node_composit_init_dblur);
ntype.declare = file_ns::cmp_node_directional_blur_declare;
ntype.draw_buttons = file_ns::node_composit_buts_dblur;
node_type_init(&ntype, file_ns::node_composit_init_dblur);
node_type_storage(
&ntype, "NodeDBlurData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -25,7 +25,7 @@
/* **************** Displace ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_displace_cc {
static void cmp_node_displace_declare(NodeDeclarationBuilder &b)
{
@ -40,14 +40,16 @@ static void cmp_node_displace_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_displace_cc
void register_node_type_cmp_displace()
{
namespace file_ns = blender::nodes::node_composite_displace_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_DISPLACE, "Displace", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_displace_declare;
ntype.declare = file_ns::cmp_node_displace_declare;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* ******************* channel Distance Matte ********************************* */
namespace blender::nodes {
namespace blender::nodes::node_composite_distance_matte_cc {
static void cmp_node_distance_matte_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_distance_matte_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Matte"));
}
} // namespace blender::nodes
static void node_composit_init_distance_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeChroma *c = MEM_cnew<NodeChroma>(__func__);
@ -66,15 +64,19 @@ static void node_composit_buts_distance_matte(uiLayout *layout,
uiItemR(col, ptr, "falloff", UI_ITEM_R_SPLIT_EMPTY_NAME | UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_distance_matte_cc
void register_node_type_cmp_distance_matte()
{
namespace file_ns = blender::nodes::node_composite_distance_matte_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_DIST_MATTE, "Distance Key", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_distance_matte_declare;
ntype.draw_buttons = node_composit_buts_distance_matte;
ntype.declare = file_ns::cmp_node_distance_matte_declare;
ntype.draw_buttons = file_ns::node_composit_buts_distance_matte;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_distance_matte);
node_type_init(&ntype, file_ns::node_composit_init_distance_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* **************** Double Edge Mask ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_double_edge_mask_cc {
static void cmp_node_double_edge_mask_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_double_edge_mask_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Mask"));
}
} // namespace blender::nodes
static void node_composit_buts_double_edge_mask(uiLayout *layout,
bContext *UNUSED(C),
PointerRNA *ptr)
@ -53,13 +51,17 @@ static void node_composit_buts_double_edge_mask(uiLayout *layout,
uiItemR(col, ptr, "edge_mode", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_double_edge_mask_cc
void register_node_type_cmp_doubleedgemask()
{
namespace file_ns = blender::nodes::node_composite_double_edge_mask_cc;
static bNodeType ntype; /* Allocate a node type data structure. */
cmp_node_type_base(&ntype, CMP_NODE_DOUBLEEDGEMASK, "Double Edge Mask", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_double_edge_mask_declare;
ntype.draw_buttons = node_composit_buts_double_edge_mask;
ntype.declare = file_ns::cmp_node_double_edge_mask_declare;
ntype.draw_buttons = file_ns::node_composit_buts_double_edge_mask;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* **************** SCALAR MATH ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_ellipsemask_cc {
static void cmp_node_ellipsemask_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_ellipsemask_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Mask"));
}
} // namespace blender::nodes
static void node_composit_init_ellipsemask(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeEllipseMask *data = MEM_cnew<NodeEllipseMask>(__func__);
@ -64,15 +62,19 @@ static void node_composit_buts_ellipsemask(uiLayout *layout, bContext *UNUSED(C)
uiItemR(layout, ptr, "mask_type", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_ellipsemask_cc
void register_node_type_cmp_ellipsemask()
{
namespace file_ns = blender::nodes::node_composite_ellipsemask_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MASK_ELLIPSE, "Ellipse Mask", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_ellipsemask_declare;
ntype.draw_buttons = node_composit_buts_ellipsemask;
ntype.declare = file_ns::cmp_node_ellipsemask_declare;
ntype.draw_buttons = file_ns::node_composit_buts_ellipsemask;
node_type_size(&ntype, 260, 110, 320);
node_type_init(&ntype, node_composit_init_ellipsemask);
node_type_init(&ntype, file_ns::node_composit_init_ellipsemask);
node_type_storage(
&ntype, "NodeEllipseMask", node_free_standard_storage, node_copy_standard_storage);

View File

@ -25,7 +25,7 @@
/* **************** Exposure ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_exposure_cc {
static void cmp_node_exposure_declare(NodeDeclarationBuilder &b)
{
@ -34,14 +34,16 @@ static void cmp_node_exposure_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_exposure_cc
void register_node_type_cmp_exposure()
{
namespace file_ns = blender::nodes::node_composite_exposure_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_EXPOSURE, "Exposure", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_exposure_declare;
ntype.declare = file_ns::cmp_node_exposure_declare;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* **************** FILTER ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_filter_cc {
static void cmp_node_filter_declare(NodeDeclarationBuilder &b)
{
@ -37,20 +37,22 @@ static void cmp_node_filter_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_buts_filter(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "filter_type", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_filter_cc
void register_node_type_cmp_filter()
{
namespace file_ns = blender::nodes::node_composite_filter_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_FILTER, "Filter", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_filter_declare;
ntype.draw_buttons = node_composit_buts_filter;
ntype.declare = file_ns::cmp_node_filter_declare;
ntype.draw_buttons = file_ns::node_composit_buts_filter;
ntype.labelfunc = node_filter_label;
ntype.flag |= NODE_PREVIEW;

View File

@ -28,7 +28,7 @@
/* **************** Flip ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_flip_cc {
static void cmp_node_flip_declare(NodeDeclarationBuilder &b)
{
@ -36,20 +36,22 @@ static void cmp_node_flip_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_buts_flip(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "axis", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_flip_cc
void register_node_type_cmp_flip()
{
namespace file_ns = blender::nodes::node_composite_flip_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_FLIP, "Flip", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_flip_declare;
ntype.draw_buttons = node_composit_buts_flip;
ntype.declare = file_ns::cmp_node_flip_declare;
ntype.draw_buttons = file_ns::node_composit_buts_flip;
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
/* **************** Gamma Tools ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_gamma_cc {
static void cmp_node_gamma_declare(NodeDeclarationBuilder &b)
{
@ -38,14 +38,16 @@ static void cmp_node_gamma_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_gamma_cc
void register_node_type_cmp_gamma()
{
namespace file_ns = blender::nodes::node_composite_gamma_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_GAMMA, "Gamma", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_gamma_declare;
ntype.declare = file_ns::cmp_node_gamma_declare;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_glare_cc {
static void cmp_node_glare_declare(NodeDeclarationBuilder &b)
{
@ -36,8 +36,6 @@ static void cmp_node_glare_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_glare(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeGlare *ndg = MEM_cnew<NodeGlare>(__func__);
@ -93,14 +91,18 @@ static void node_composit_buts_glare(uiLayout *layout, bContext *UNUSED(C), Poin
}
}
} // namespace blender::nodes::node_composite_glare_cc
void register_node_type_cmp_glare()
{
namespace file_ns = blender::nodes::node_composite_glare_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_GLARE, "Glare", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_glare_declare;
ntype.draw_buttons = node_composit_buts_glare;
node_type_init(&ntype, node_composit_init_glare);
ntype.declare = file_ns::cmp_node_glare_declare;
ntype.draw_buttons = file_ns::node_composit_buts_glare;
node_type_init(&ntype, file_ns::node_composit_init_glare);
node_type_storage(&ntype, "NodeGlare", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -25,7 +25,7 @@
/* **************** Hue Saturation ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_hue_sat_val_cc {
static void cmp_node_huesatval_declare(NodeDeclarationBuilder &b)
{
@ -45,14 +45,16 @@ static void cmp_node_huesatval_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_hue_sat_val_cc
void register_node_type_cmp_hue_sat()
{
namespace file_ns = blender::nodes::node_composite_hue_sat_val_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_huesatval_declare;
ntype.declare = file_ns::cmp_node_huesatval_declare;
nodeRegisterType(&ntype);
}

View File

@ -23,7 +23,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_huecorrect_cc {
static void cmp_node_huecorrect_declare(NodeDeclarationBuilder &b)
{
@ -32,8 +32,6 @@ static void cmp_node_huecorrect_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_huecorrect(bNodeTree *UNUSED(ntree), bNode *node)
{
node->storage = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
@ -51,14 +49,18 @@ static void node_composit_init_huecorrect(bNodeTree *UNUSED(ntree), bNode *node)
cumapping->cur = 1;
}
} // namespace blender::nodes::node_composite_huecorrect_cc
void register_node_type_cmp_huecorrect()
{
namespace file_ns = blender::nodes::node_composite_huecorrect_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_HUECORRECT, "Hue Correct", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_huecorrect_declare;
ntype.declare = file_ns::cmp_node_huecorrect_declare;
node_type_size(&ntype, 320, 140, 500);
node_type_init(&ntype, node_composit_init_huecorrect);
node_type_init(&ntype, file_ns::node_composit_init_huecorrect);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* **************** ID Mask ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_id_mask_cc {
static void cmp_node_idmask_declare(NodeDeclarationBuilder &b)
{
@ -36,21 +36,23 @@ static void cmp_node_idmask_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Alpha"));
}
} // namespace blender::nodes
static void node_composit_buts_id_mask(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "index", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
uiItemR(layout, ptr, "use_antialiasing", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_id_mask_cc
void register_node_type_cmp_idmask()
{
namespace file_ns = blender::nodes::node_composite_id_mask_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_ID_MASK, "ID Mask", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_idmask_declare;
ntype.draw_buttons = node_composit_buts_id_mask;
ntype.declare = file_ns::cmp_node_idmask_declare;
ntype.draw_buttons = file_ns::node_composit_buts_id_mask;
nodeRegisterType(&ntype);
}

View File

@ -399,6 +399,8 @@ static void cmp_node_image_verify_outputs(bNodeTree *ntree, bNode *node, bool rl
BLI_linklist_free(available_sockets.list, nullptr);
}
namespace blender::nodes::node_composite_image_cc {
static void cmp_node_image_update(bNodeTree *ntree, bNode *node)
{
/* avoid unnecessary updates, only changes to the image/image user data are of interest */
@ -447,14 +449,19 @@ static void node_composit_copy_image(bNodeTree *UNUSED(dest_ntree),
}
}
} // namespace blender::nodes::node_composite_image_cc
void register_node_type_cmp_image()
{
namespace file_ns = blender::nodes::node_composite_image_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_IMAGE, "Image", NODE_CLASS_INPUT);
node_type_init(&ntype, node_composit_init_image);
node_type_storage(&ntype, "ImageUser", node_composit_free_image, node_composit_copy_image);
node_type_update(&ntype, cmp_node_image_update);
node_type_init(&ntype, file_ns::node_composit_init_image);
node_type_storage(
&ntype, "ImageUser", file_ns::node_composit_free_image, file_ns::node_composit_copy_image);
node_type_update(&ntype, file_ns::cmp_node_image_update);
ntype.labelfunc = node_image_label;
ntype.flag |= NODE_PREVIEW;
@ -478,6 +485,8 @@ const char *node_cmp_rlayers_sock_to_pass(int sock_index)
return (STREQ(name, "Alpha")) ? RE_PASSNAME_COMBINED : name;
}
namespace blender::nodes::node_composite_image_cc {
static void node_composit_init_rlayers(const bContext *C, PointerRNA *ptr)
{
Scene *scene = CTX_data_scene(C);
@ -602,18 +611,23 @@ static void node_composit_buts_viewlayers(uiLayout *layout, bContext *C, Pointer
RNA_string_set(&op_ptr, "scene", scene_name);
}
} // namespace blender::nodes::node_composite_image_cc
void register_node_type_cmp_rlayers()
{
namespace file_ns = blender::nodes::node_composite_image_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_R_LAYERS, "Render Layers", NODE_CLASS_INPUT);
node_type_socket_templates(&ntype, nullptr, cmp_node_rlayers_out);
ntype.draw_buttons = node_composit_buts_viewlayers;
ntype.initfunc_api = node_composit_init_rlayers;
ntype.poll = node_composit_poll_rlayers;
ntype.draw_buttons = file_ns::node_composit_buts_viewlayers;
ntype.initfunc_api = file_ns::node_composit_init_rlayers;
ntype.poll = file_ns::node_composit_poll_rlayers;
ntype.flag |= NODE_PREVIEW;
node_type_storage(&ntype, nullptr, node_composit_free_rlayers, node_composit_copy_rlayers);
node_type_update(&ntype, cmp_node_rlayers_update);
node_type_storage(
&ntype, nullptr, file_ns::node_composit_free_rlayers, file_ns::node_composit_copy_rlayers);
node_type_update(&ntype, file_ns::cmp_node_rlayers_update);
node_type_init(&ntype, node_cmp_rlayers_outputs);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);

View File

@ -28,7 +28,7 @@
/* **************** Inpaint/ ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_inpaint_cc {
static void cmp_node_inpaint_declare(NodeDeclarationBuilder &b)
{
@ -36,20 +36,22 @@ static void cmp_node_inpaint_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_buts_inpaint(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "distance", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_inpaint_cc
void register_node_type_cmp_inpaint()
{
namespace file_ns = blender::nodes::node_composite_inpaint_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_INPAINT, "Inpaint", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_inpaint_declare;
ntype.draw_buttons = node_composit_buts_inpaint;
ntype.declare = file_ns::cmp_node_inpaint_declare;
ntype.draw_buttons = file_ns::node_composit_buts_inpaint;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* **************** INVERT ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_invert_cc {
static void cmp_node_invert_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_invert_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Color"));
}
} // namespace blender::nodes
static void node_composit_init_invert(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 |= CMP_CHAN_RGB;
@ -53,15 +51,18 @@ static void node_composit_buts_invert(uiLayout *layout, bContext *UNUSED(C), Poi
uiItemR(col, ptr, "invert_alpha", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
/* custom1 = mix type */
} // namespace blender::nodes::node_composite_invert_cc
void register_node_type_cmp_invert()
{
namespace file_ns = blender::nodes::node_composite_invert_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_invert_declare;
ntype.draw_buttons = node_composit_buts_invert;
node_type_init(&ntype, node_composit_init_invert);
ntype.declare = file_ns::cmp_node_invert_declare;
ntype.draw_buttons = file_ns::node_composit_buts_invert;
node_type_init(&ntype, file_ns::node_composit_init_invert);
nodeRegisterType(&ntype);
}

View File

@ -34,7 +34,7 @@
/* **************** Keying ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_keying_cc {
static void cmp_node_keying_declare(NodeDeclarationBuilder &b)
{
@ -47,8 +47,6 @@ static void cmp_node_keying_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Edges"));
}
} // namespace blender::nodes
static void node_composit_init_keying(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeKeyingData *data = MEM_cnew<NodeKeyingData>(__func__);
@ -81,14 +79,18 @@ static void node_composit_buts_keying(uiLayout *layout, bContext *UNUSED(C), Poi
uiItemR(layout, ptr, "blur_post", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_keying_cc
void register_node_type_cmp_keying()
{
namespace file_ns = blender::nodes::node_composite_keying_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_KEYING, "Keying", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_keying_declare;
ntype.draw_buttons = node_composit_buts_keying;
node_type_init(&ntype, node_composit_init_keying);
ntype.declare = file_ns::cmp_node_keying_declare;
ntype.draw_buttons = file_ns::node_composit_buts_keying;
node_type_init(&ntype, file_ns::node_composit_init_keying);
node_type_storage(
&ntype, "NodeKeyingData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -35,15 +35,13 @@
/* **************** Keying Screen ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_keyingscreen_cc {
static void cmp_node_keyingscreen_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Color>(N_("Screen"));
}
} // namespace blender::nodes
static void node_composit_init_keyingscreen(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeKeyingScreenData *data = MEM_cnew<NodeKeyingScreenData>(__func__);
@ -77,14 +75,18 @@ static void node_composit_buts_keyingscreen(uiLayout *layout, bContext *C, Point
}
}
} // namespace blender::nodes::node_composite_keyingscreen_cc
void register_node_type_cmp_keyingscreen()
{
namespace file_ns = blender::nodes::node_composite_keyingscreen_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_KEYINGSCREEN, "Keying Screen", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_keyingscreen_declare;
ntype.draw_buttons = node_composit_buts_keyingscreen;
node_type_init(&ntype, node_composit_init_keyingscreen);
ntype.declare = file_ns::cmp_node_keyingscreen_declare;
ntype.draw_buttons = file_ns::node_composit_buts_keyingscreen;
node_type_init(&ntype, file_ns::node_composit_init_keyingscreen);
node_type_storage(
&ntype, "NodeKeyingScreenData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -28,7 +28,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_lensdist_cc {
static void cmp_node_lensdist_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_lensdist_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_lensdist(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeLensDist *nld = MEM_cnew<NodeLensDist>(__func__);
@ -60,14 +58,18 @@ static void node_composit_buts_lensdist(uiLayout *layout, bContext *UNUSED(C), P
uiItemR(col, ptr, "use_fit", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_lensdist_cc
void register_node_type_cmp_lensdist()
{
namespace file_ns = blender::nodes::node_composite_lensdist_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_LENSDIST, "Lens Distortion", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_lensdist_declare;
ntype.draw_buttons = node_composit_buts_lensdist;
node_type_init(&ntype, node_composit_init_lensdist);
ntype.declare = file_ns::cmp_node_lensdist_declare;
ntype.draw_buttons = file_ns::node_composit_buts_lensdist;
node_type_init(&ntype, file_ns::node_composit_init_lensdist);
node_type_storage(
&ntype, "NodeLensDist", node_free_standard_storage, node_copy_standard_storage);

View File

@ -28,7 +28,7 @@
/* **************** LEVELS ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_levels_cc {
static void cmp_node_levels_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_levels_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Std Dev"));
}
} // namespace blender::nodes
static void node_composit_init_view_levels(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 = 1; /* All channels. */
@ -49,15 +47,19 @@ static void node_composit_buts_view_levels(uiLayout *layout, bContext *UNUSED(C)
uiItemR(layout, ptr, "channel", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_levels_cc
void register_node_type_cmp_view_levels()
{
namespace file_ns = blender::nodes::node_composite_levels_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VIEW_LEVELS, "Levels", NODE_CLASS_OUTPUT);
ntype.declare = blender::nodes::cmp_node_levels_declare;
ntype.draw_buttons = node_composit_buts_view_levels;
ntype.declare = file_ns::cmp_node_levels_declare;
ntype.draw_buttons = file_ns::node_composit_buts_view_levels;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_view_levels);
node_type_init(&ntype, file_ns::node_composit_init_view_levels);
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* ******************* Luma Matte Node ********************************* */
namespace blender::nodes {
namespace blender::nodes::node_composite_luma_matte_cc {
static void cmp_node_luma_matte_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_luma_matte_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Matte"));
}
} // namespace blender::nodes
static void node_composit_init_luma_matte(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeChroma *c = MEM_cnew<NodeChroma>(__func__);
@ -58,15 +56,19 @@ static void node_composit_buts_luma_matte(uiLayout *layout, bContext *UNUSED(C),
col, ptr, "limit_min", UI_ITEM_R_SPLIT_EMPTY_NAME | UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_luma_matte_cc
void register_node_type_cmp_luma_matte()
{
namespace file_ns = blender::nodes::node_composite_luma_matte_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_LUMA_MATTE, "Luminance Key", NODE_CLASS_MATTE);
ntype.declare = blender::nodes::cmp_node_luma_matte_declare;
ntype.draw_buttons = node_composit_buts_luma_matte;
ntype.declare = file_ns::cmp_node_luma_matte_declare;
ntype.draw_buttons = file_ns::node_composit_buts_luma_matte;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_luma_matte);
node_type_init(&ntype, file_ns::node_composit_init_luma_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* **************** Map Range ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_map_range_cc {
static void cmp_node_map_range_declare(NodeDeclarationBuilder &b)
{
@ -40,8 +40,6 @@ static void cmp_node_map_range_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Value"));
}
} // namespace blender::nodes
static void node_composit_buts_map_range(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiLayout *col;
@ -50,13 +48,17 @@ static void node_composit_buts_map_range(uiLayout *layout, bContext *UNUSED(C),
uiItemR(col, ptr, "use_clamp", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_map_range_cc
void register_node_type_cmp_map_range()
{
namespace file_ns = blender::nodes::node_composite_map_range_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MAP_RANGE, "Map Range", NODE_CLASS_OP_VECTOR);
ntype.declare = blender::nodes::cmp_node_map_range_declare;
ntype.draw_buttons = node_composit_buts_map_range;
ntype.declare = file_ns::cmp_node_map_range_declare;
ntype.draw_buttons = file_ns::node_composit_buts_map_range;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* **************** Map UV ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_map_uv_cc {
static void cmp_node_map_uv_declare(NodeDeclarationBuilder &b)
{
@ -37,20 +37,22 @@ static void cmp_node_map_uv_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_buts_map_uv(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "alpha", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_map_uv_cc
void register_node_type_cmp_mapuv()
{
namespace file_ns = blender::nodes::node_composite_map_uv_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MAP_UV, "Map UV", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_map_uv_declare;
ntype.draw_buttons = node_composit_buts_map_uv;
ntype.declare = file_ns::cmp_node_map_uv_declare;
ntype.draw_buttons = file_ns::node_composit_buts_map_uv;
nodeRegisterType(&ntype);
}

View File

@ -30,7 +30,7 @@
/* **************** MAP VALUE ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_map_value_cc {
static void cmp_node_map_value_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_map_value_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Value"));
}
} // namespace blender::nodes
static void node_composit_init_map_value(bNodeTree *UNUSED(ntree), bNode *node)
{
node->storage = BKE_texture_mapping_add(TEXMAP_TYPE_POINT);
@ -66,14 +64,18 @@ static void node_composit_buts_map_value(uiLayout *layout, bContext *UNUSED(C),
uiItemR(sub, ptr, "max", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_map_value_cc
void register_node_type_cmp_map_value()
{
namespace file_ns = blender::nodes::node_composite_map_value_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MAP_VALUE, "Map Value", NODE_CLASS_OP_VECTOR);
ntype.declare = blender::nodes::cmp_node_map_value_declare;
ntype.draw_buttons = node_composit_buts_map_value;
node_type_init(&ntype, node_composit_init_map_value);
ntype.declare = file_ns::cmp_node_map_value_declare;
ntype.draw_buttons = file_ns::node_composit_buts_map_value;
node_type_init(&ntype, file_ns::node_composit_init_map_value);
node_type_storage(&ntype, "TexMapping", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -30,15 +30,13 @@
/* **************** Mask ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_mask_cc {
static void cmp_node_mask_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Float>(N_("Mask"));
}
} // namespace blender::nodes
static void node_composit_init_mask(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeMask *data = MEM_cnew<NodeMask>(__func__);
@ -92,15 +90,19 @@ static void node_composit_buts_mask(uiLayout *layout, bContext *C, PointerRNA *p
}
}
} // namespace blender::nodes::node_composite_mask_cc
void register_node_type_cmp_mask()
{
namespace file_ns = blender::nodes::node_composite_mask_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MASK, "Mask", NODE_CLASS_INPUT);
ntype.declare = blender::nodes::cmp_node_mask_declare;
ntype.draw_buttons = node_composit_buts_mask;
node_type_init(&ntype, node_composit_init_mask);
ntype.labelfunc = node_mask_label;
ntype.declare = file_ns::cmp_node_mask_declare;
ntype.draw_buttons = file_ns::node_composit_buts_mask;
node_type_init(&ntype, file_ns::node_composit_init_mask);
ntype.labelfunc = file_ns::node_mask_label;
node_type_storage(&ntype, "NodeMask", node_free_standard_storage, node_copy_standard_storage);

View File

@ -25,7 +25,7 @@
/* **************** SCALAR MATH ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_math_cc {
static void cmp_node_math_declare(NodeDeclarationBuilder &b)
{
@ -41,14 +41,16 @@ static void cmp_node_math_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Value"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_math_cc
void register_node_type_cmp_math()
{
namespace file_ns = blender::nodes::node_composite_math_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MATH, "Math", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_math_declare;
ntype.declare = file_ns::cmp_node_math_declare;
ntype.labelfunc = node_math_label;
node_type_update(&ntype, node_math_update);

View File

@ -25,7 +25,7 @@
/* **************** MIX RGB ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_mixrgb_cc {
static void cmp_node_mixrgb_declare(NodeDeclarationBuilder &b)
{
@ -35,16 +35,17 @@ static void cmp_node_mixrgb_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_mixrgb_cc
/* custom1 = mix type */
void register_node_type_cmp_mix_rgb()
{
namespace file_ns = blender::nodes::node_composite_mixrgb_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR);
ntype.flag |= NODE_PREVIEW;
ntype.declare = blender::nodes::cmp_node_mixrgb_declare;
ntype.declare = file_ns::cmp_node_mixrgb_declare;
ntype.labelfunc = node_blend_label;
nodeRegisterType(&ntype);

View File

@ -31,7 +31,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_movieclip_cc {
static void cmp_node_movieclip_declare(NodeDeclarationBuilder &b)
{
@ -43,8 +43,6 @@ static void cmp_node_movieclip_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Angle"));
}
} // namespace blender::nodes
static void init(const bContext *C, PointerRNA *ptr)
{
bNode *node = (bNode *)ptr->data;
@ -96,15 +94,19 @@ static void node_composit_buts_movieclip_ex(uiLayout *layout, bContext *C, Point
uiTemplateColorspaceSettings(layout, &clipptr, "colorspace_settings");
}
} // namespace blender::nodes::node_composite_movieclip_cc
void register_node_type_cmp_movieclip()
{
namespace file_ns = blender::nodes::node_composite_movieclip_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MOVIECLIP, "Movie Clip", NODE_CLASS_INPUT);
ntype.declare = blender::nodes::cmp_node_movieclip_declare;
ntype.draw_buttons = node_composit_buts_movieclip;
ntype.draw_buttons_ex = node_composit_buts_movieclip_ex;
ntype.initfunc_api = init;
ntype.declare = file_ns::cmp_node_movieclip_declare;
ntype.draw_buttons = file_ns::node_composit_buts_movieclip;
ntype.draw_buttons_ex = file_ns::node_composit_buts_movieclip_ex;
ntype.initfunc_api = file_ns::init;
ntype.flag |= NODE_PREVIEW;
node_type_storage(
&ntype, "MovieClipUser", node_free_standard_storage, node_copy_standard_storage);

View File

@ -31,7 +31,7 @@
/* **************** Translate ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_moviedistortion_cc {
static void cmp_node_moviedistortion_declare(NodeDeclarationBuilder &b)
{
@ -39,8 +39,6 @@ static void cmp_node_moviedistortion_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void label(const bNodeTree *UNUSED(ntree), const bNode *node, char *label, int maxlen)
{
if (node->custom1 == 0) {
@ -98,16 +96,20 @@ static void node_composit_buts_moviedistortion(uiLayout *layout, bContext *C, Po
uiItemR(layout, ptr, "distortion_type", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_moviedistortion_cc
void register_node_type_cmp_moviedistortion()
{
namespace file_ns = blender::nodes::node_composite_moviedistortion_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_MOVIEDISTORTION, "Movie Distortion", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_moviedistortion_declare;
ntype.draw_buttons = node_composit_buts_moviedistortion;
ntype.labelfunc = label;
ntype.initfunc_api = init;
node_type_storage(&ntype, nullptr, storage_free, storage_copy);
ntype.declare = file_ns::cmp_node_moviedistortion_declare;
ntype.draw_buttons = file_ns::node_composit_buts_moviedistortion;
ntype.labelfunc = file_ns::label;
ntype.initfunc_api = file_ns::init;
node_type_storage(&ntype, nullptr, file_ns::storage_free, file_ns::storage_copy);
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
/* **************** NORMAL ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_normal_cc {
static void cmp_node_normal_declare(NodeDeclarationBuilder &b)
{
@ -38,14 +38,16 @@ static void cmp_node_normal_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Dot"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_normal_cc
void register_node_type_cmp_normal()
{
namespace file_ns = blender::nodes::node_composite_normal_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR);
ntype.declare = blender::nodes::cmp_node_normal_declare;
ntype.declare = file_ns::cmp_node_normal_declare;
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
/* **************** NORMALIZE single channel, useful for Z buffer ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_normalize_cc {
static void cmp_node_normalize_declare(NodeDeclarationBuilder &b)
{
@ -33,14 +33,16 @@ static void cmp_node_normalize_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Value"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_normalize_cc
void register_node_type_cmp_normalize()
{
namespace file_ns = blender::nodes::node_composite_normalize_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_NORMALIZE, "Normalize", NODE_CLASS_OP_VECTOR);
ntype.declare = blender::nodes::cmp_node_normalize_declare;
ntype.declare = file_ns::cmp_node_normalize_declare;
nodeRegisterType(&ntype);
}

View File

@ -196,6 +196,8 @@ void ntreeCompositOutputFileSetLayer(bNode *node, bNodeSocket *sock, const char
ntreeCompositOutputFileUniqueLayer(&node->inputs, sock, name, '_');
}
namespace blender::nodes::node_composite_output_file_cc {
/* XXX uses initfunc_api callback, regular initfunc does not support context yet */
static void init_output_file(const bContext *C, PointerRNA *ptr)
{
@ -435,17 +437,22 @@ static void node_composit_buts_file_output_ex(uiLayout *layout, bContext *C, Poi
}
}
} // namespace blender::nodes::node_composite_output_file_cc
void register_node_type_cmp_output_file()
{
namespace file_ns = blender::nodes::node_composite_output_file_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_OUTPUT_FILE, "File Output", NODE_CLASS_OUTPUT);
ntype.draw_buttons = node_composit_buts_file_output;
ntype.draw_buttons_ex = node_composit_buts_file_output_ex;
ntype.initfunc_api = init_output_file;
ntype.draw_buttons = file_ns::node_composit_buts_file_output;
ntype.draw_buttons_ex = file_ns::node_composit_buts_file_output_ex;
ntype.initfunc_api = file_ns::init_output_file;
ntype.flag |= NODE_PREVIEW;
node_type_storage(&ntype, "NodeImageMultiFile", free_output_file, copy_output_file);
node_type_update(&ntype, update_output_file);
node_type_storage(
&ntype, "NodeImageMultiFile", file_ns::free_output_file, file_ns::copy_output_file);
node_type_update(&ntype, file_ns::update_output_file);
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
/* **************** Pixelate ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_pixelate_cc {
static void cmp_node_pixelate_declare(NodeDeclarationBuilder &b)
{
@ -33,14 +33,16 @@ static void cmp_node_pixelate_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Color"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_pixelate_cc
void register_node_type_cmp_pixelate()
{
namespace file_ns = blender::nodes::node_composite_pixelate_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_PIXELATE, "Pixelate", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_pixelate_declare;
ntype.declare = file_ns::cmp_node_pixelate_declare;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_planetrackdeform_cc {
static void cmp_node_planetrackdeform_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_planetrackdeform_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Plane"));
}
} // namespace blender::nodes
static void init(bNodeTree *UNUSED(ntree), bNode *node)
{
NodePlaneTrackDeformData *data = MEM_cnew<NodePlaneTrackDeformData>(__func__);
@ -96,14 +94,18 @@ static void node_composit_buts_planetrackdeform(uiLayout *layout, bContext *C, P
}
}
} // namespace blender::nodes::node_composite_planetrackdeform_cc
void register_node_type_cmp_planetrackdeform()
{
namespace file_ns = blender::nodes::node_composite_planetrackdeform_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_PLANETRACKDEFORM, "Plane Track Deform", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_planetrackdeform_declare;
ntype.draw_buttons = node_composit_buts_planetrackdeform;
node_type_init(&ntype, init);
ntype.declare = file_ns::cmp_node_planetrackdeform_declare;
ntype.draw_buttons = file_ns::node_composit_buts_planetrackdeform;
node_type_init(&ntype, file_ns::init);
node_type_storage(
&ntype, "NodePlaneTrackDeformData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -25,7 +25,7 @@
/* **************** Posterize ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_posterize_cc {
static void cmp_node_posterize_declare(NodeDeclarationBuilder &b)
{
@ -34,14 +34,16 @@ static void cmp_node_posterize_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_posterize_cc
void register_node_type_cmp_posterize()
{
namespace file_ns = blender::nodes::node_composite_posterize_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_POSTERIZE, "Posterize", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_posterize_declare;
ntype.declare = file_ns::cmp_node_posterize_declare;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* **************** Premul and Key Alpha Convert ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_premulkey_cc {
static void cmp_node_premulkey_declare(NodeDeclarationBuilder &b)
{
@ -36,20 +36,22 @@ static void cmp_node_premulkey_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_buts_premulkey(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "mapping", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_premulkey_cc
void register_node_type_cmp_premulkey()
{
namespace file_ns = blender::nodes::node_composite_premulkey_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_premulkey_declare;
ntype.draw_buttons = node_composit_buts_premulkey;
ntype.declare = file_ns::cmp_node_premulkey_declare;
ntype.draw_buttons = file_ns::node_composit_buts_premulkey;
nodeRegisterType(&ntype);
}

View File

@ -25,21 +25,23 @@
/* **************** RGB ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_rgb_cc {
static void cmp_node_rgb_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Color>(N_("RGBA")).default_value({0.5f, 0.5f, 0.5f, 1.0f});
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_rgb_cc
void register_node_type_cmp_rgb()
{
namespace file_ns = blender::nodes::node_composite_rgb_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_RGB, "RGB", NODE_CLASS_INPUT);
ntype.declare = blender::nodes::cmp_node_rgb_declare;
ntype.declare = file_ns::cmp_node_rgb_declare;
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* **************** Rotate ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_rotate_cc {
static void cmp_node_rotate_declare(NodeDeclarationBuilder &b)
{
@ -41,8 +41,6 @@ static void cmp_node_rotate_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_rotate(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 = 1; /* Bilinear Filter. */
@ -53,14 +51,18 @@ static void node_composit_buts_rotate(uiLayout *layout, bContext *UNUSED(C), Poi
uiItemR(layout, ptr, "filter_type", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_rotate_cc
void register_node_type_cmp_rotate()
{
namespace file_ns = blender::nodes::node_composite_rotate_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_rotate_declare;
ntype.draw_buttons = node_composit_buts_rotate;
node_type_init(&ntype, node_composit_init_rotate);
ntype.declare = file_ns::cmp_node_rotate_declare;
ntype.draw_buttons = file_ns::node_composit_buts_rotate;
node_type_init(&ntype, file_ns::node_composit_init_rotate);
nodeRegisterType(&ntype);
}

View File

@ -30,7 +30,7 @@
/* **************** Scale ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_scale_cc {
static void cmp_node_scale_declare(NodeDeclarationBuilder &b)
{
@ -40,8 +40,6 @@ static void cmp_node_scale_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composite_update_scale(bNodeTree *ntree, bNode *node)
{
bNodeSocket *sock;
@ -73,14 +71,18 @@ static void node_composit_buts_scale(uiLayout *layout, bContext *UNUSED(C), Poin
}
}
} // namespace blender::nodes::node_composite_scale_cc
void register_node_type_cmp_scale()
{
namespace file_ns = blender::nodes::node_composite_scale_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SCALE, "Scale", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_scale_declare;
ntype.draw_buttons = node_composit_buts_scale;
node_type_update(&ntype, node_composite_update_scale);
ntype.declare = file_ns::cmp_node_scale_declare;
ntype.draw_buttons = file_ns::node_composit_buts_scale;
node_type_update(&ntype, file_ns::node_composite_update_scale);
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
/* **************** SEPARATE HSVA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_sepcomb_hsva_cc {
static void cmp_node_sephsva_declare(NodeDeclarationBuilder &b)
{
@ -36,20 +36,22 @@ static void cmp_node_sephsva_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("A"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_sepcomb_hsva_cc
void register_node_type_cmp_sephsva()
{
namespace file_ns = blender::nodes::node_composite_sepcomb_hsva_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SEPHSVA, "Separate HSVA", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_sephsva_declare;
ntype.declare = file_ns::cmp_node_sephsva_declare;
nodeRegisterType(&ntype);
}
/* **************** COMBINE HSVA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_sepcomb_hsva_cc {
static void cmp_node_combhsva_declare(NodeDeclarationBuilder &b)
{
@ -60,14 +62,16 @@ static void cmp_node_combhsva_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_sepcomb_hsva_cc
void register_node_type_cmp_combhsva()
{
namespace file_ns = blender::nodes::node_composite_sepcomb_hsva_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMBHSVA, "Combine HSVA", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_combhsva_declare;
ntype.declare = file_ns::cmp_node_combhsva_declare;
nodeRegisterType(&ntype);
}

View File

@ -24,7 +24,7 @@
#include "node_composite_util.hh"
/* **************** SEPARATE RGBA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_sepcomb_rgba_cc {
static void cmp_node_seprgba_declare(NodeDeclarationBuilder &b)
{
@ -35,21 +35,23 @@ static void cmp_node_seprgba_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("A"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_sepcomb_rgba_cc
void register_node_type_cmp_seprgba()
{
namespace file_ns = blender::nodes::node_composite_sepcomb_rgba_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SEPRGBA, "Separate RGBA", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_seprgba_declare;
ntype.declare = file_ns::cmp_node_seprgba_declare;
nodeRegisterType(&ntype);
}
/* **************** COMBINE RGBA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_sepcomb_rgba_cc {
static void cmp_node_combrgba_declare(NodeDeclarationBuilder &b)
{
@ -60,14 +62,16 @@ static void cmp_node_combrgba_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_sepcomb_rgba_cc
void register_node_type_cmp_combrgba()
{
namespace file_ns = blender::nodes::node_composite_sepcomb_rgba_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMBRGBA, "Combine RGBA", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_combrgba_declare;
ntype.declare = file_ns::cmp_node_combrgba_declare;
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
/* **************** SEPARATE YCCA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_sepcomb_ycca_cc {
static void cmp_node_sepycca_declare(NodeDeclarationBuilder &b)
{
@ -36,27 +36,29 @@ static void cmp_node_sepycca_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("A"));
}
} // namespace blender::nodes
static void node_composit_init_mode_sepycca(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 = 1; /* BLI_YCC_ITU_BT709 */
}
} // namespace blender::nodes::node_composite_sepcomb_ycca_cc
void register_node_type_cmp_sepycca()
{
namespace file_ns = blender::nodes::node_composite_sepcomb_ycca_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SEPYCCA, "Separate YCbCrA", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_sepycca_declare;
node_type_init(&ntype, node_composit_init_mode_sepycca);
ntype.declare = file_ns::cmp_node_sepycca_declare;
node_type_init(&ntype, file_ns::node_composit_init_mode_sepycca);
nodeRegisterType(&ntype);
}
/* **************** COMBINE YCCA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_sepcomb_ycca_cc {
static void cmp_node_combycca_declare(NodeDeclarationBuilder &b)
{
@ -67,20 +69,22 @@ static void cmp_node_combycca_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_mode_combycca(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 = 1; /* BLI_YCC_ITU_BT709 */
}
} // namespace blender::nodes::node_composite_sepcomb_ycca_cc
void register_node_type_cmp_combycca()
{
namespace file_ns = blender::nodes::node_composite_sepcomb_ycca_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMBYCCA, "Combine YCbCrA", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_combycca_declare;
node_type_init(&ntype, node_composit_init_mode_combycca);
ntype.declare = file_ns::cmp_node_combycca_declare;
node_type_init(&ntype, file_ns::node_composit_init_mode_combycca);
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
/* **************** SEPARATE YUVA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_sepcomb_yuva_cc {
static void cmp_node_sepyuva_declare(NodeDeclarationBuilder &b)
{
@ -36,21 +36,23 @@ static void cmp_node_sepyuva_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("A"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_sepcomb_yuva_cc
void register_node_type_cmp_sepyuva()
{
namespace file_ns = blender::nodes::node_composite_sepcomb_yuva_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SEPYUVA, "Separate YUVA", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_sepyuva_declare;
ntype.declare = file_ns::cmp_node_sepyuva_declare;
nodeRegisterType(&ntype);
}
/* **************** COMBINE YUVA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_sepcomb_yuva_cc {
static void cmp_node_combyuva_declare(NodeDeclarationBuilder &b)
{
@ -61,14 +63,16 @@ static void cmp_node_combyuva_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_sepcomb_yuva_cc
void register_node_type_cmp_combyuva()
{
namespace file_ns = blender::nodes::node_composite_sepcomb_yuva_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_COMBYUVA, "Combine YUVA", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_combyuva_declare;
ntype.declare = file_ns::cmp_node_combyuva_declare;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* **************** SET ALPHA ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_setalpha_cc {
static void cmp_node_setalpha_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_setalpha_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_setalpha(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeSetAlpha *settings = MEM_cnew<NodeSetAlpha>(__func__);
@ -51,14 +49,18 @@ static void node_composit_buts_set_alpha(uiLayout *layout, bContext *UNUSED(C),
uiItemR(layout, ptr, "mode", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_setalpha_cc
void register_node_type_cmp_setalpha()
{
namespace file_ns = blender::nodes::node_composite_setalpha_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SETALPHA, "Set Alpha", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_setalpha_declare;
ntype.draw_buttons = node_composit_buts_set_alpha;
node_type_init(&ntype, node_composit_init_setalpha);
ntype.declare = file_ns::cmp_node_setalpha_declare;
ntype.draw_buttons = file_ns::node_composit_buts_set_alpha;
node_type_init(&ntype, file_ns::node_composit_init_setalpha);
node_type_storage(
&ntype, "NodeSetAlpha", node_free_standard_storage, node_copy_standard_storage);

View File

@ -31,7 +31,7 @@
/* **************** SPLIT VIEWER ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_split_viewer_cc {
static void cmp_node_split_viewer_declare(NodeDeclarationBuilder &b)
{
@ -39,8 +39,6 @@ static void cmp_node_split_viewer_declare(NodeDeclarationBuilder &b)
b.add_input<decl::Color>(N_("Image"), "Image_001");
}
} // namespace blender::nodes
static void node_composit_init_splitviewer(bNodeTree *UNUSED(ntree), bNode *node)
{
ImageUser *iuser = MEM_cnew<ImageUser>(__func__);
@ -61,15 +59,19 @@ static void node_composit_buts_splitviewer(uiLayout *layout, bContext *UNUSED(C)
uiItemR(col, ptr, "factor", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_split_viewer_cc
void register_node_type_cmp_splitviewer()
{
namespace file_ns = blender::nodes::node_composite_split_viewer_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SPLITVIEWER, "Split Viewer", NODE_CLASS_OUTPUT);
ntype.declare = blender::nodes::cmp_node_split_viewer_declare;
ntype.draw_buttons = node_composit_buts_splitviewer;
ntype.declare = file_ns::cmp_node_split_viewer_declare;
ntype.draw_buttons = file_ns::node_composit_buts_splitviewer;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_splitviewer);
node_type_init(&ntype, file_ns::node_composit_init_splitviewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
ntype.no_muting = true;

View File

@ -31,7 +31,7 @@
/* **************** Stabilize 2D ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_stabilize2d_cc {
static void cmp_node_stabilize2d_declare(NodeDeclarationBuilder &b)
{
@ -39,8 +39,6 @@ static void cmp_node_stabilize2d_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void init(const bContext *C, PointerRNA *ptr)
{
bNode *node = (bNode *)ptr->data;
@ -76,14 +74,18 @@ static void node_composit_buts_stabilize2d(uiLayout *layout, bContext *C, Pointe
uiItemR(layout, ptr, "invert", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_stabilize2d_cc
void register_node_type_cmp_stabilize2d()
{
namespace file_ns = blender::nodes::node_composite_stabilize2d_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_STABILIZE2D, "Stabilize 2D", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_stabilize2d_declare;
ntype.draw_buttons = node_composit_buts_stabilize2d;
ntype.initfunc_api = init;
ntype.declare = file_ns::cmp_node_stabilize2d_declare;
ntype.draw_buttons = file_ns::node_composit_buts_stabilize2d;
ntype.initfunc_api = file_ns::init;
nodeRegisterType(&ntype);
}

View File

@ -26,7 +26,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_sunbeams_cc {
static void cmp_node_sunbeams_declare(NodeDeclarationBuilder &b)
{
@ -34,8 +34,6 @@ static void cmp_node_sunbeams_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void init(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeSunBeams *data = MEM_cnew<NodeSunBeams>(__func__);
@ -56,14 +54,18 @@ static void node_composit_buts_sunbeams(uiLayout *layout, bContext *UNUSED(C), P
ICON_NONE);
}
} // namespace blender::nodes::node_composite_sunbeams_cc
void register_node_type_cmp_sunbeams()
{
namespace file_ns = blender::nodes::node_composite_sunbeams_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SUNBEAMS, "Sun Beams", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_sunbeams_declare;
ntype.draw_buttons = node_composit_buts_sunbeams;
node_type_init(&ntype, init);
ntype.declare = file_ns::cmp_node_sunbeams_declare;
ntype.draw_buttons = file_ns::node_composit_buts_sunbeams;
node_type_init(&ntype, file_ns::init);
node_type_storage(
&ntype, "NodeSunBeams", node_free_standard_storage, node_copy_standard_storage);

View File

@ -28,7 +28,7 @@
/* **************** Switch ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_switch_cc {
static void cmp_node_switch_declare(NodeDeclarationBuilder &b)
{
@ -37,21 +37,22 @@ static void cmp_node_switch_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_buts_switch(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "check", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
/* custom1 = mix type */
} // namespace blender::nodes::node_composite_switch_cc
void register_node_type_cmp_switch()
{
namespace file_ns = blender::nodes::node_composite_switch_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SWITCH, "Switch", NODE_CLASS_LAYOUT);
ntype.declare = blender::nodes::cmp_node_switch_declare;
ntype.draw_buttons = node_composit_buts_switch;
ntype.declare = file_ns::cmp_node_switch_declare;
ntype.draw_buttons = file_ns::node_composit_buts_switch;
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);
}

View File

@ -32,6 +32,8 @@
/* **************** SWITCH VIEW ******************** */
namespace blender::nodes::node_composite_switchview_cc {
static bNodeSocketTemplate cmp_node_switch_view_out[] = {
{SOCK_RGBA, N_("Image"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
{-1, ""},
@ -155,16 +157,19 @@ static void node_composit_buts_switch_view_ex(uiLayout *layout,
nullptr);
}
} // namespace blender::nodes::node_composite_switchview_cc
void register_node_type_cmp_switch_view()
{
namespace file_ns = blender::nodes::node_composite_switchview_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_SWITCH_VIEW, "Switch View", NODE_CLASS_CONVERTER);
node_type_socket_templates(&ntype, nullptr, cmp_node_switch_view_out);
ntype.draw_buttons_ex = node_composit_buts_switch_view_ex;
ntype.initfunc_api = init_switch_view;
node_type_update(&ntype, cmp_node_switch_view_update);
node_type_socket_templates(&ntype, nullptr, file_ns::cmp_node_switch_view_out);
ntype.draw_buttons_ex = file_ns::node_composit_buts_switch_view_ex;
ntype.initfunc_api = file_ns::init_switch_view;
node_type_update(&ntype, file_ns::cmp_node_switch_view_update);
nodeRegisterType(&ntype);
}

View File

@ -25,7 +25,7 @@
/* **************** TEXTURE ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_texture_cc {
static void cmp_node_texture_declare(NodeDeclarationBuilder &b)
{
@ -39,14 +39,16 @@ static void cmp_node_texture_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Color"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_texture_cc
void register_node_type_cmp_texture()
{
namespace file_ns = blender::nodes::node_composite_texture_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT);
ntype.declare = blender::nodes::cmp_node_texture_declare;
ntype.declare = file_ns::cmp_node_texture_declare;
ntype.flag |= NODE_PREVIEW;
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_tonemap_cc {
static void cmp_node_tonemap_declare(NodeDeclarationBuilder &b)
{
@ -36,8 +36,6 @@ static void cmp_node_tonemap_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_tonemap(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTonemap *ntm = MEM_cnew<NodeTonemap>(__func__);
@ -76,14 +74,18 @@ static void node_composit_buts_tonemap(uiLayout *layout, bContext *UNUSED(C), Po
}
}
} // namespace blender::nodes::node_composite_tonemap_cc
void register_node_type_cmp_tonemap()
{
namespace file_ns = blender::nodes::node_composite_tonemap_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TONEMAP, "Tonemap", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_tonemap_declare;
ntype.draw_buttons = node_composit_buts_tonemap;
node_type_init(&ntype, node_composit_init_tonemap);
ntype.declare = file_ns::cmp_node_tonemap_declare;
ntype.draw_buttons = file_ns::node_composit_buts_tonemap;
node_type_init(&ntype, file_ns::node_composit_init_tonemap);
node_type_storage(&ntype, "NodeTonemap", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
#include "node_composite_util.hh"
namespace blender::nodes {
namespace blender::nodes::node_composite_trackpos_cc {
static void cmp_node_trackpos_declare(NodeDeclarationBuilder &b)
{
@ -37,8 +37,6 @@ static void cmp_node_trackpos_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Vector>(N_("Speed")).subtype(PROP_VELOCITY);
}
} // namespace blender::nodes
static void init(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTrackPosData *data = MEM_cnew<NodeTrackPosData>(__func__);
@ -94,14 +92,18 @@ static void node_composit_buts_trackpos(uiLayout *layout, bContext *C, PointerRN
}
}
} // namespace blender::nodes::node_composite_trackpos_cc
void register_node_type_cmp_trackpos()
{
namespace file_ns = blender::nodes::node_composite_trackpos_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TRACKPOS, "Track Position", NODE_CLASS_INPUT);
ntype.declare = blender::nodes::cmp_node_trackpos_declare;
ntype.draw_buttons = node_composit_buts_trackpos;
node_type_init(&ntype, init);
ntype.declare = file_ns::cmp_node_trackpos_declare;
ntype.draw_buttons = file_ns::node_composit_buts_trackpos;
node_type_init(&ntype, file_ns::init);
node_type_storage(
&ntype, "NodeTrackPosData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -28,7 +28,7 @@
/* **************** Transform ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_transform_cc {
static void cmp_node_transform_declare(NodeDeclarationBuilder &b)
{
@ -44,20 +44,22 @@ static void cmp_node_transform_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_buts_transform(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiItemR(layout, ptr, "filter_type", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
} // namespace blender::nodes::node_composite_transform_cc
void register_node_type_cmp_transform()
{
namespace file_ns = blender::nodes::node_composite_transform_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TRANSFORM, "Transform", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_transform_declare;
ntype.draw_buttons = node_composit_buts_transform;
ntype.declare = file_ns::cmp_node_transform_declare;
ntype.draw_buttons = file_ns::node_composit_buts_transform;
nodeRegisterType(&ntype);
}

View File

@ -28,7 +28,7 @@
/* **************** Translate ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_translate_cc {
static void cmp_node_translate_declare(NodeDeclarationBuilder &b)
{
@ -38,8 +38,6 @@ static void cmp_node_translate_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
static void node_composit_init_translate(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTranslateData *data = MEM_cnew<NodeTranslateData>(__func__);
@ -52,14 +50,18 @@ static void node_composit_buts_translate(uiLayout *layout, bContext *UNUSED(C),
uiItemR(layout, ptr, "wrap_axis", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_translate_cc
void register_node_type_cmp_translate()
{
namespace file_ns = blender::nodes::node_composite_translate_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT);
ntype.declare = blender::nodes::cmp_node_translate_declare;
ntype.draw_buttons = node_composit_buts_translate;
node_type_init(&ntype, node_composit_init_translate);
ntype.declare = file_ns::cmp_node_translate_declare;
ntype.draw_buttons = file_ns::node_composit_buts_translate;
node_type_init(&ntype, file_ns::node_composit_init_translate);
node_type_storage(
&ntype, "NodeTranslateData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -25,7 +25,7 @@
/* **************** VALTORGB ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_val_to_rgb_cc {
static void cmp_node_valtorgb_declare(NodeDeclarationBuilder &b)
{
@ -34,21 +34,23 @@ static void cmp_node_valtorgb_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Alpha"));
}
} // namespace blender::nodes
static void node_composit_init_valtorgb(bNodeTree *UNUSED(ntree), bNode *node)
{
node->storage = BKE_colorband_add(true);
}
} // namespace blender::nodes::node_composite_val_to_rgb_cc
void register_node_type_cmp_valtorgb()
{
namespace file_ns = blender::nodes::node_composite_val_to_rgb_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_valtorgb_declare;
ntype.declare = file_ns::cmp_node_valtorgb_declare;
node_type_size(&ntype, 240, 200, 320);
node_type_init(&ntype, node_composit_init_valtorgb);
node_type_init(&ntype, file_ns::node_composit_init_valtorgb);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
nodeRegisterType(&ntype);
@ -56,7 +58,7 @@ void register_node_type_cmp_valtorgb()
/* **************** RGBTOBW ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_val_to_rgb_cc {
static void cmp_node_rgbtobw_declare(NodeDeclarationBuilder &b)
{
@ -64,14 +66,16 @@ static void cmp_node_rgbtobw_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Val"));
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_val_to_rgb_cc
void register_node_type_cmp_rgbtobw()
{
namespace file_ns = blender::nodes::node_composite_val_to_rgb_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTER);
ntype.declare = blender::nodes::cmp_node_rgbtobw_declare;
ntype.declare = file_ns::cmp_node_rgbtobw_declare;
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);

View File

@ -25,21 +25,23 @@
/* **************** VALUE ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_value_cc {
static void cmp_node_value_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Float>(N_("Value")).default_value(0.5f);
}
} // namespace blender::nodes
} // namespace blender::nodes::node_composite_value_cc
void register_node_type_cmp_value()
{
namespace file_ns = blender::nodes::node_composite_value_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VALUE, "Value", NODE_CLASS_INPUT);
ntype.declare = blender::nodes::cmp_node_value_declare;
ntype.declare = file_ns::cmp_node_value_declare;
node_type_size_preset(&ntype, NODE_SIZE_SMALL);
nodeRegisterType(&ntype);

View File

@ -28,7 +28,7 @@
/* **************** VECTOR BLUR ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_vec_blur_cc {
static void cmp_node_vec_blur_declare(NodeDeclarationBuilder &b)
{
@ -42,8 +42,7 @@ static void cmp_node_vec_blur_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Image"));
}
} // namespace blender::nodes
/* custom1: iterations, custom2: max_speed (0 = no_limit). */
static void node_composit_init_vecblur(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeBlurData *nbd = MEM_cnew<NodeBlurData>(__func__);
@ -68,15 +67,18 @@ static void node_composit_buts_vecblur(uiLayout *layout, bContext *UNUSED(C), Po
uiItemR(layout, ptr, "use_curved", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
/* custom1: iterations, custom2: max_speed (0 = no_limit). */
} // namespace blender::nodes::node_composite_vec_blur_cc
void register_node_type_cmp_vecblur()
{
namespace file_ns = blender::nodes::node_composite_vec_blur_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VECBLUR, "Vector Blur", NODE_CLASS_OP_FILTER);
ntype.declare = blender::nodes::cmp_node_vec_blur_declare;
ntype.draw_buttons = node_composit_buts_vecblur;
node_type_init(&ntype, node_composit_init_vecblur);
ntype.declare = file_ns::cmp_node_vec_blur_declare;
ntype.draw_buttons = file_ns::node_composit_buts_vecblur;
node_type_init(&ntype, file_ns::node_composit_init_vecblur);
node_type_storage(
&ntype, "NodeBlurData", node_free_standard_storage, node_copy_standard_storage);

View File

@ -33,7 +33,7 @@
/* **************** VIEWER ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_viewer_cc {
static void cmp_node_viewer_declare(NodeDeclarationBuilder &b)
{
@ -42,8 +42,6 @@ static void cmp_node_viewer_declare(NodeDeclarationBuilder &b)
b.add_input<decl::Float>(N_("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)
{
ImageUser *iuser = MEM_cnew<ImageUser>(__func__);
@ -73,16 +71,20 @@ static void node_composit_buts_viewer_ex(uiLayout *layout, bContext *UNUSED(C),
}
}
} // namespace blender::nodes::node_composite_viewer_cc
void register_node_type_cmp_viewer()
{
namespace file_ns = blender::nodes::node_composite_viewer_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT);
ntype.declare = blender::nodes::cmp_node_viewer_declare;
ntype.draw_buttons = node_composit_buts_viewer;
ntype.draw_buttons_ex = node_composit_buts_viewer_ex;
ntype.declare = file_ns::cmp_node_viewer_declare;
ntype.draw_buttons = file_ns::node_composit_buts_viewer;
ntype.draw_buttons_ex = file_ns::node_composit_buts_viewer_ex;
ntype.flag |= NODE_PREVIEW;
node_type_init(&ntype, node_composit_init_viewer);
node_type_init(&ntype, file_ns::node_composit_init_viewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
ntype.no_muting = true;

View File

@ -28,7 +28,7 @@
/* **************** Z COMBINE ******************** */
namespace blender::nodes {
namespace blender::nodes::node_composite_zcombine_cc {
static void cmp_node_zcombine_declare(NodeDeclarationBuilder &b)
{
@ -40,8 +40,6 @@ static void cmp_node_zcombine_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Z"));
}
} // namespace blender::nodes
static void node_composit_buts_zcombine(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
uiLayout *col;
@ -51,13 +49,17 @@ static void node_composit_buts_zcombine(uiLayout *layout, bContext *UNUSED(C), P
uiItemR(col, ptr, "use_antialias_z", UI_ITEM_R_SPLIT_EMPTY_NAME, nullptr, ICON_NONE);
}
} // namespace blender::nodes::node_composite_zcombine_cc
void register_node_type_cmp_zcombine()
{
namespace file_ns = blender::nodes::node_composite_zcombine_cc;
static bNodeType ntype;
cmp_node_type_base(&ntype, CMP_NODE_ZCOMBINE, "Z Combine", NODE_CLASS_OP_COLOR);
ntype.declare = blender::nodes::cmp_node_zcombine_declare;
ntype.draw_buttons = node_composit_buts_zcombine;
ntype.declare = file_ns::cmp_node_zcombine_declare;
ntype.draw_buttons = file_ns::node_composit_buts_zcombine;
nodeRegisterType(&ntype);
}