diff --git a/source/blender/compositor/shaders/library/gpu_shader_compositor_alpha_over.glsl b/source/blender/compositor/shaders/library/gpu_shader_compositor_alpha_over.glsl index e15d6cade2c..f26da1b3b90 100644 --- a/source/blender/compositor/shaders/library/gpu_shader_compositor_alpha_over.glsl +++ b/source/blender/compositor/shaders/library/gpu_shader_compositor_alpha_over.glsl @@ -20,7 +20,7 @@ float4 preprocess_foreground(float4 foreground, float straight_alpha) } /* Computes the Porter and Duff Over compositing operation. */ -float4 alpha_over(float factor, float4 background, float4 foreground, float straight_alpha) +float4 alpha_over(float4 background, float4 foreground, float factor, float straight_alpha) { const float4 foreground_color = preprocess_foreground(foreground, straight_alpha); @@ -34,9 +34,9 @@ float4 alpha_over(float factor, float4 background, float4 foreground, float stra * held out by the foreground. See for reference: * * https://benmcewan.com/blog/disjoint-over-and-conjoint-over-explained */ -float4 alpha_over_disjoint(float factor, - float4 background, +float4 alpha_over_disjoint(float4 background, float4 foreground, + float factor, float straight_alpha) { const float4 foreground_color = preprocess_foreground(foreground, straight_alpha); @@ -61,9 +61,9 @@ float4 alpha_over_disjoint(float factor, * https://benmcewan.com/blog/disjoint-over-and-conjoint-over-explained * * However, the equation is wrong and should actually be A+B(1-a/b), A if a>b. */ -float4 alpha_over_conjoint(float factor, - float4 background, +float4 alpha_over_conjoint(float4 background, float4 foreground, + float factor, float straight_alpha) { const float4 foreground_color = preprocess_foreground(foreground, straight_alpha); @@ -82,9 +82,9 @@ float4 alpha_over_conjoint(float factor, return mix(background, mix_result, factor); } -void node_composite_alpha_over(float factor, - float4 background, +void node_composite_alpha_over(float4 background, float4 foreground, + float factor, float type, float straight_alpha, out float4 result) @@ -92,13 +92,13 @@ void node_composite_alpha_over(float factor, result = background; switch (int(type)) { case CMP_NODE_ALPHA_OVER_OPERATION_TYPE_OVER: - result = alpha_over(factor, background, foreground, straight_alpha); + result = alpha_over(background, foreground, factor, straight_alpha); break; case CMP_NODE_ALPHA_OVER_OPERATION_TYPE_DISJOINT_OVER: - result = alpha_over_disjoint(factor, background, foreground, straight_alpha); + result = alpha_over_disjoint(background, foreground, factor, straight_alpha); break; case CMP_NODE_ALPHA_OVER_OPERATION_TYPE_CONJOINT_OVER: - result = alpha_over_conjoint(factor, background, foreground, straight_alpha); + result = alpha_over_conjoint(background, foreground, factor, straight_alpha); break; } } diff --git a/source/blender/compositor/shaders/library/gpu_shader_compositor_color_balance.glsl b/source/blender/compositor/shaders/library/gpu_shader_compositor_color_balance.glsl index 034a0d1a64f..fc664b71b8b 100644 --- a/source/blender/compositor/shaders/library/gpu_shader_compositor_color_balance.glsl +++ b/source/blender/compositor/shaders/library/gpu_shader_compositor_color_balance.glsl @@ -238,8 +238,8 @@ float4 white_point_variable(const float4 color, return float4(balanced, color.w); } -void node_composite_color_balance(const float factor, - const float4 color, +void node_composite_color_balance(const float4 color, + const float factor, const float type, const float base_lift, const float4 color_lift, @@ -284,8 +284,8 @@ void node_composite_color_balance(const float factor, result = float4(mix(color.xyz(), result.xyz(), min(factor, 1.0f)), color.w); } -void node_composite_color_balance_white_point_constant(const float factor, - const float4 color, +void node_composite_color_balance_white_point_constant(const float4 color, + const float factor, const float type, const float base_lift, const float4 color_lift, diff --git a/source/blender/compositor/shaders/library/gpu_shader_compositor_hue_correct.glsl b/source/blender/compositor/shaders/library/gpu_shader_compositor_hue_correct.glsl index 3128122d8fd..86b58bc6957 100644 --- a/source/blender/compositor/shaders/library/gpu_shader_compositor_hue_correct.glsl +++ b/source/blender/compositor/shaders/library/gpu_shader_compositor_hue_correct.glsl @@ -15,8 +15,8 @@ float3 compute_hue_curve_map_coordinates(float3 parameters) return parameters * sampler_scale + sampler_offset; } -void node_composite_hue_correct(float factor, - float4 color, +void node_composite_hue_correct(float4 color, + float factor, sampler1DArray curve_map, const float layer, float3 minimums, diff --git a/source/blender/compositor/shaders/library/gpu_shader_compositor_invert.glsl b/source/blender/compositor/shaders/library/gpu_shader_compositor_invert.glsl index 8ef29f41531..2ee1a2c8ee9 100644 --- a/source/blender/compositor/shaders/library/gpu_shader_compositor_invert.glsl +++ b/source/blender/compositor/shaders/library/gpu_shader_compositor_invert.glsl @@ -5,7 +5,7 @@ #include "gpu_shader_common_color_utils.glsl" void node_composite_invert( - float fac, float4 color, float invert_color, float invert_alpha, out float4 result) + float4 color, float factor, float invert_color, float invert_alpha, out float4 result) { result = color; if (invert_color != 0.0f) { @@ -14,5 +14,5 @@ void node_composite_invert( if (invert_alpha != 0.0f) { result.a = 1.0f - result.a; } - result = mix(color, result, fac); + result = mix(color, result, factor); } diff --git a/source/blender/gpu/shaders/common/gpu_shader_common_curves.glsl b/source/blender/gpu/shaders/common/gpu_shader_common_curves.glsl index c9d1262a93c..5bf8fa4e7ba 100644 --- a/source/blender/gpu/shaders/common/gpu_shader_common_curves.glsl +++ b/source/blender/gpu/shaders/common/gpu_shader_common_curves.glsl @@ -98,6 +98,31 @@ void curves_combined_rgb(float factor, result = mix(color, result, factor); } +void curves_combined_rgb_compositor(float4 color, + float factor, + float4 black_level, + float4 white_level, + sampler1DArray curve_map, + const float layer, + float4 range_minimums, + float4 range_dividers, + float4 start_slopes, + float4 end_slopes, + out float4 result) +{ + curves_combined_rgb(factor, + color, + black_level, + white_level, + curve_map, + layer, + range_minimums, + range_dividers, + start_slopes, + end_slopes, + result); +} + void curves_combined_only(float factor, float4 color, float4 black_level, @@ -129,6 +154,31 @@ void curves_combined_only(float factor, result = mix(color, result, factor); } +void curves_combined_only_compositor(float4 color, + float factor, + float4 black_level, + float4 white_level, + sampler1DArray curve_map, + const float layer, + float range_minimum, + float range_divider, + float start_slope, + float end_slope, + out float4 result) +{ + curves_combined_only(factor, + color, + black_level, + white_level, + curve_map, + layer, + range_minimum, + range_divider, + start_slope, + end_slope, + result); +} + /* Contrary to standard tone curve implementations, the film-like implementation tries to preserve * the hue of the colors as much as possible. To understand why this might be a problem, consider * the violet color (0.5, 0.0, 1.0). If this color was to be evaluated at a power curve x^4, the @@ -207,6 +257,31 @@ void curves_film_like(float factor, result = mix(color, result, clamp(factor, 0.0f, 1.0f)); } +void curves_film_like_compositor(float4 color, + float factor, + float4 black_level, + float4 white_level, + sampler1DArray curve_map, + const float layer, + float range_minimum, + float range_divider, + float start_slope, + float end_slope, + out float4 result) +{ + curves_film_like(factor, + color, + black_level, + white_level, + curve_map, + layer, + range_minimum, + range_divider, + start_slope, + end_slope, + result); +} + void curves_vector(float3 vector, sampler1DArray curve_map, const float layer, diff --git a/source/blender/nodes/composite/nodes/node_composite_alpha_over.cc b/source/blender/nodes/composite/nodes/node_composite_alpha_over.cc index 1cb793ba1c6..2dc6cd49b5b 100644 --- a/source/blender/nodes/composite/nodes/node_composite_alpha_over.cc +++ b/source/blender/nodes/composite/nodes/node_composite_alpha_over.cc @@ -41,18 +41,9 @@ static const EnumPropertyItem type_items[] = { static void node_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Fac") - .default_value(1.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(2); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); - b.add_input("Image", "Image_001") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(1); + b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Image", "Image_001").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); b.add_input("Type") .default_value(CMP_NODE_ALPHA_OVER_OPERATION_TYPE_OVER) .static_items(type_items); @@ -85,9 +76,9 @@ static float4 preprocess_foreground(const float4 &foreground, const bool straigh } /* Computes the Porter and Duff Over compositing operation. */ -static float4 alpha_over(const float factor, - const float4 &background, +static float4 alpha_over(const float4 &background, const float4 &foreground, + const float factor, const bool straight_alpha) { const float4 foreground_color = preprocess_foreground(foreground, straight_alpha); @@ -102,9 +93,9 @@ static float4 alpha_over(const float factor, * held out by the foreground. See for reference: * * https://benmcewan.com/blog/disjoint-over-and-conjoint-over-explained */ -static float4 alpha_over_disjoint(const float factor, - const float4 &background, +static float4 alpha_over_disjoint(const float4 &background, const float4 &foreground, + const float factor, const bool straight_alpha) { const float4 foreground_color = preprocess_foreground(foreground, straight_alpha); @@ -127,9 +118,9 @@ static float4 alpha_over_disjoint(const float factor, * background if it is more opaque but not necessary completely opaque. See for reference: * * https://benmcewan.com/blog/disjoint-over-and-conjoint-over-explained */ -static float4 alpha_over_conjoint(const float factor, - const float4 &background, +static float4 alpha_over_conjoint(const float4 &background, const float4 &foreground, + const float factor, const bool straight_alpha) { const float4 foreground_color = preprocess_foreground(foreground, straight_alpha); @@ -150,24 +141,24 @@ static float4 alpha_over_conjoint(const float factor, static void node_build_multi_function(blender::nodes::NodeMultiFunctionBuilder &builder) { - static auto function = mf::build::SI5_SO( + static auto function = mf::build::SI5_SO( "Alpha Over", - [=](const float factor, - const float4 &background, + [=](const float4 &background, const float4 &foreground, + const float factor, const MenuValue type, const bool straight_alpha) -> float4 { switch (CMPNodeAlphaOverOperationType(type.value)) { case CMP_NODE_ALPHA_OVER_OPERATION_TYPE_OVER: - return alpha_over(factor, background, foreground, straight_alpha); + return alpha_over(background, foreground, factor, straight_alpha); case CMP_NODE_ALPHA_OVER_OPERATION_TYPE_DISJOINT_OVER: - return alpha_over_disjoint(factor, background, foreground, straight_alpha); + return alpha_over_disjoint(background, foreground, factor, straight_alpha); case CMP_NODE_ALPHA_OVER_OPERATION_TYPE_CONJOINT_OVER: - return alpha_over_conjoint(factor, background, foreground, straight_alpha); + return alpha_over_conjoint(background, foreground, factor, straight_alpha); } return background; }, - mf::build::exec_presets::SomeSpanOrSingle<1, 2>()); + mf::build::exec_presets::SomeSpanOrSingle<0, 1>()); builder.set_matching_fn(function); } diff --git a/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc b/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc index fccf010c918..2cb46d8ee78 100644 --- a/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc +++ b/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc @@ -55,15 +55,8 @@ static void cmp_node_colorbalance_declare(NodeDeclarationBuilder &b) b.add_output("Image"); - b.add_input("Fac") - .default_value(1.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(1); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); + b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); b.add_input("Type") .default_value(CMP_NODE_COLOR_BALANCE_LGG) @@ -310,8 +303,8 @@ static float4 white_point_variable(const float4 color, return float4(balanced, color.w); } -static float4 color_balance(const float factor, - const float4 color, +static float4 color_balance(const float4 color, + const float factor, const CMPNodeColorBalanceMethod type, const float base_lift, const float4 color_lift, @@ -363,8 +356,8 @@ class ColorBalanceFunction : public mf::MultiFunction { static const mf::Signature signature = []() { mf::Signature signature; mf::SignatureBuilder builder{"Color Balance", signature}; - builder.single_input("Factor"); builder.single_input("Color"); + builder.single_input("Factor"); builder.single_input("Type"); builder.single_input("Base Lift"); @@ -394,8 +387,8 @@ class ColorBalanceFunction : public mf::MultiFunction { void call(const IndexMask &mask, mf::Params params, mf::Context /*context*/) const override { - const VArray factor_array = params.readonly_single_input(0, "Factor"); - const VArray color_array = params.readonly_single_input(1, "Color"); + const VArray color_array = params.readonly_single_input(0, "Color"); + const VArray factor_array = params.readonly_single_input(1, "Factor"); const VArray type_array = params.readonly_single_input(2, "Type"); const VArray base_lift_array = params.readonly_single_input(3, "Base Lift"); @@ -484,8 +477,8 @@ class ColorBalanceFunction : public mf::MultiFunction { const float output_tint = output_tint_array.get_internal_single(); mask.foreach_index([&](const int64_t i) { - result[i] = color_balance(factor, - color_array[i], + result[i] = color_balance(color_array[i], + factor, CMPNodeColorBalanceMethod(type), base_lift, color_lift, @@ -509,8 +502,8 @@ class ColorBalanceFunction : public mf::MultiFunction { } else { mask.foreach_index([&](const int64_t i) { - result[i] = color_balance(factor_array[i], - color_array[i], + result[i] = color_balance(color_array[i], + factor_array[i], CMPNodeColorBalanceMethod(type_array[i].value), base_lift_array[i], color_lift_array[i], diff --git a/source/blender/nodes/composite/nodes/node_composite_curves.cc b/source/blender/nodes/composite/nodes/node_composite_curves.cc index f85a6ef0633..1f359aa8184 100644 --- a/source/blender/nodes/composite/nodes/node_composite_curves.cc +++ b/source/blender/nodes/composite/nodes/node_composite_curves.cc @@ -130,17 +130,15 @@ namespace blender::nodes::node_composite_rgb_curves_cc { static void cmp_node_rgbcurves_declare(NodeDeclarationBuilder &b) { b.is_function_node(); + b.add_input("Image") + .default_value({1.0f, 1.0f, 1.0f, 1.0f}) + .description("Image/Color input on which RGB color transformation will be applied"); b.add_input("Fac") .default_value(1.0f) .min(0.0f) .max(1.0f) .subtype(PROP_FACTOR) - .compositor_domain_priority(1) .description("Amount of influence the node exerts on the image"); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0) - .description("Image/Color input on which RGB color transformation will be applied"); b.add_input("Black Level") .default_value({0.0f, 0.0f, 0.0f, 1.0f}) .description("Input color that should be mapped to black"); @@ -188,7 +186,7 @@ static int node_gpu_material(GPUMaterial *material, if (curve_mapping->tone == CURVE_TONE_FILMLIKE) { return GPU_stack_link(material, node, - "curves_film_like", + "curves_film_like_compositor", inputs, outputs, band_texture, @@ -215,7 +213,7 @@ static int node_gpu_material(GPUMaterial *material, { return GPU_stack_link(material, node, - "curves_combined_only", + "curves_combined_only_compositor", inputs, outputs, band_texture, @@ -228,7 +226,7 @@ static int node_gpu_material(GPUMaterial *material, return GPU_stack_link(material, node, - "curves_combined_rgb", + "curves_combined_rgb_compositor", inputs, outputs, band_texture, @@ -246,9 +244,9 @@ static void node_build_multi_function(blender::nodes::NodeMultiFunctionBuilder & BKE_curvemapping_premultiply(curve_mapping, false); builder.construct_and_set_matching_fn_cb([=]() { - return mf::build::SI4_SO( + return mf::build::SI4_SO( "RGB Curves", - [=](const float factor, const float4 &color, const float4 &black, const float4 &white) + [=](const float4 &color, const float factor, const float4 &black, const float4 &white) -> float4 { float3 black_white_scale; BKE_curvemapping_set_black_white_ex(black, white, black_white_scale); @@ -259,7 +257,7 @@ static void node_build_multi_function(blender::nodes::NodeMultiFunctionBuilder & return float4(math::interpolate(color.xyz(), result, math::clamp(factor, 0.0f, 1.0f)), color.w); }, - mf::build::exec_presets::SomeSpanOrSingle<1>()); + mf::build::exec_presets::SomeSpanOrSingle<0>()); }); } diff --git a/source/blender/nodes/composite/nodes/node_composite_denoise.cc b/source/blender/nodes/composite/nodes/node_composite_denoise.cc index d8950a8080d..e2abe5c1d72 100644 --- a/source/blender/nodes/composite/nodes/node_composite_denoise.cc +++ b/source/blender/nodes/composite/nodes/node_composite_denoise.cc @@ -75,19 +75,16 @@ static void cmp_node_denoise_declare(NodeDeclarationBuilder &b) { b.add_input("Image") .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0) + .structure_type(StructureType::Dynamic); + b.add_input("Albedo") + .default_value({1.0f, 1.0f, 1.0f, 1.0f}) + .hide_value() .structure_type(StructureType::Dynamic); b.add_input("Normal") .default_value({0.0f, 0.0f, 0.0f}) .min(-1.0f) .max(1.0f) .hide_value() - .compositor_domain_priority(2) - .structure_type(StructureType::Dynamic); - b.add_input("Albedo") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .hide_value() - .compositor_domain_priority(1) .structure_type(StructureType::Dynamic); b.add_input("HDR").default_value(true); b.add_input("Prefilter") diff --git a/source/blender/nodes/composite/nodes/node_composite_depth_combine.cc b/source/blender/nodes/composite/nodes/node_composite_depth_combine.cc index dc5fcfac1c1..08359a6ae83 100644 --- a/source/blender/nodes/composite/nodes/node_composite_depth_combine.cc +++ b/source/blender/nodes/composite/nodes/node_composite_depth_combine.cc @@ -28,24 +28,14 @@ static void cmp_node_zcombine_declare(NodeDeclarationBuilder &b) { b.add_input("A") .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0) - .structure_type(StructureType::Dynamic); - b.add_input("Depth A") - .default_value(1.0f) - .min(0.0f) - .max(10000.0f) - .compositor_domain_priority(2) .structure_type(StructureType::Dynamic); + b.add_input("Depth A").default_value(1.0f).min(0.0f).max(10000.0f).structure_type( + StructureType::Dynamic); b.add_input("B") .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(1) - .structure_type(StructureType::Dynamic); - b.add_input("Depth B") - .default_value(1.0f) - .min(0.0f) - .max(10000.0f) - .compositor_domain_priority(3) .structure_type(StructureType::Dynamic); + b.add_input("Depth B").default_value(1.0f).min(0.0f).max(10000.0f).structure_type( + StructureType::Dynamic); b.add_input("Use Alpha") .default_value(false) .description( diff --git a/source/blender/nodes/composite/nodes/node_composite_despeckle.cc b/source/blender/nodes/composite/nodes/node_composite_despeckle.cc index d660ae02f14..ae2911f30fb 100644 --- a/source/blender/nodes/composite/nodes/node_composite_despeckle.cc +++ b/source/blender/nodes/composite/nodes/node_composite_despeckle.cc @@ -26,16 +26,14 @@ namespace blender::nodes::node_composite_despeckle_cc { static void cmp_node_despeckle_declare(NodeDeclarationBuilder &b) { + b.add_input("Image") + .default_value({1.0f, 1.0f, 1.0f, 1.0f}) + .structure_type(StructureType::Dynamic); b.add_input("Fac") .default_value(1.0f) .min(0.0f) .max(1.0f) .subtype(PROP_FACTOR) - .compositor_domain_priority(1) - .structure_type(StructureType::Dynamic); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0) .structure_type(StructureType::Dynamic); b.add_input("Color Threshold") .default_value(0.5f) diff --git a/source/blender/nodes/composite/nodes/node_composite_double_edge_mask.cc b/source/blender/nodes/composite/nodes/node_composite_double_edge_mask.cc index 63fedb7eb8a..d23e2f9ac68 100644 --- a/source/blender/nodes/composite/nodes/node_composite_double_edge_mask.cc +++ b/source/blender/nodes/composite/nodes/node_composite_double_edge_mask.cc @@ -15,17 +15,15 @@ namespace blender::nodes::node_composite_double_edge_mask_cc { static void cmp_node_double_edge_mask_declare(NodeDeclarationBuilder &b) { - b.add_input("Inner Mask") - .default_value(0.8f) - .min(0.0f) - .max(1.0f) - .compositor_domain_priority(1) - .structure_type(StructureType::Dynamic); b.add_input("Outer Mask") .default_value(0.8f) .min(0.0f) .max(1.0f) - .compositor_domain_priority(0) + .structure_type(StructureType::Dynamic); + b.add_input("Inner Mask") + .default_value(0.8f) + .min(0.0f) + .max(1.0f) .structure_type(StructureType::Dynamic); b.add_input("Image Edges") .default_value(false) diff --git a/source/blender/nodes/composite/nodes/node_composite_exposure.cc b/source/blender/nodes/composite/nodes/node_composite_exposure.cc index 681a26ce48b..c6561e87bfa 100644 --- a/source/blender/nodes/composite/nodes/node_composite_exposure.cc +++ b/source/blender/nodes/composite/nodes/node_composite_exposure.cc @@ -25,10 +25,8 @@ namespace blender::nodes::node_composite_exposure_cc { static void cmp_node_exposure_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); - b.add_input("Exposure").min(-10.0f).max(10.0f).compositor_domain_priority(1); + b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Exposure").min(-10.0f).max(10.0f); b.add_output("Image"); } diff --git a/source/blender/nodes/composite/nodes/node_composite_filter.cc b/source/blender/nodes/composite/nodes/node_composite_filter.cc index 0e6d3d9705a..05d88846f49 100644 --- a/source/blender/nodes/composite/nodes/node_composite_filter.cc +++ b/source/blender/nodes/composite/nodes/node_composite_filter.cc @@ -37,16 +37,14 @@ static const EnumPropertyItem type_items[] = { static void cmp_node_filter_declare(NodeDeclarationBuilder &b) { + b.add_input("Image") + .default_value({1.0f, 1.0f, 1.0f, 1.0f}) + .structure_type(StructureType::Dynamic); b.add_input("Fac") .default_value(1.0f) .min(0.0f) .max(1.0f) .subtype(PROP_FACTOR) - .compositor_domain_priority(1) - .structure_type(StructureType::Dynamic); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0) .structure_type(StructureType::Dynamic); b.add_input("Type").default_value(CMP_NODE_FILTER_SOFT).static_items(type_items); diff --git a/source/blender/nodes/composite/nodes/node_composite_hue_sat_val.cc b/source/blender/nodes/composite/nodes/node_composite_hue_sat_val.cc index d89a9f51b13..8f889f17d6a 100644 --- a/source/blender/nodes/composite/nodes/node_composite_hue_sat_val.cc +++ b/source/blender/nodes/composite/nodes/node_composite_hue_sat_val.cc @@ -26,34 +26,20 @@ namespace blender::nodes::node_composite_hue_sat_val_cc { static void cmp_node_huesatval_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); - b.add_input("Hue") - .default_value(0.5f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(1); + b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Hue").default_value(0.5f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); b.add_input("Saturation") .default_value(1.0f) .min(0.0f) .max(2.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(2); + .subtype(PROP_FACTOR); b.add_input("Value") .default_value(1.0f) .min(0.0f) .max(2.0f) .subtype(PROP_FACTOR) - .translation_context(BLT_I18NCONTEXT_COLOR) - .compositor_domain_priority(3); - b.add_input("Fac") - .default_value(1.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(4); + .translation_context(BLT_I18NCONTEXT_COLOR); + b.add_input("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); b.add_output("Image"); } diff --git a/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc b/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc index 4a512b0137d..7a6f5623e44 100644 --- a/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc +++ b/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc @@ -27,15 +27,8 @@ namespace blender::nodes::node_composite_huecorrect_cc { static void cmp_node_huecorrect_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Fac") - .default_value(1.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(1); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); + b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); b.add_output("Image"); } @@ -95,7 +88,7 @@ static int node_gpu_material(GPUMaterial *material, GPU_uniform(range_dividers)); } -static float4 hue_correct(const float factor, const float4 &color, const CurveMapping *curve_map) +static float4 hue_correct(const float4 &color, const float factor, const CurveMapping *curve_map) { float3 hsv; rgb_to_hsv_v(color, hsv); @@ -129,12 +122,12 @@ static void node_build_multi_function(blender::nodes::NodeMultiFunctionBuilder & BKE_curvemapping_init(curve_mapping); builder.construct_and_set_matching_fn_cb([=]() { - return mf::build::SI2_SO( + return mf::build::SI2_SO( "Hue Correct", - [=](const float factor, const float4 &color) -> float4 { - return hue_correct(factor, color, curve_mapping); + [=](const float4 &color, const float factor) -> float4 { + return hue_correct(color, factor, curve_mapping); }, - mf::build::exec_presets::SomeSpanOrSingle<1>()); + mf::build::exec_presets::SomeSpanOrSingle<0>()); }); } diff --git a/source/blender/nodes/composite/nodes/node_composite_invert.cc b/source/blender/nodes/composite/nodes/node_composite_invert.cc index 087b72d64a1..64afb455014 100644 --- a/source/blender/nodes/composite/nodes/node_composite_invert.cc +++ b/source/blender/nodes/composite/nodes/node_composite_invert.cc @@ -26,17 +26,10 @@ namespace blender::nodes::node_composite_invert_cc { static void cmp_node_invert_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Fac") - .default_value(1.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(1); - b.add_input("Color") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); - b.add_input("Invert Color").default_value(true).compositor_domain_priority(2); - b.add_input("Invert Alpha").default_value(false).compositor_domain_priority(3); + b.add_input("Color").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Fac").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); + b.add_input("Invert Color").default_value(true); + b.add_input("Invert Alpha").default_value(false); b.add_output("Color"); } @@ -54,9 +47,9 @@ static int node_gpu_material(GPUMaterial *material, static void node_build_multi_function(blender::nodes::NodeMultiFunctionBuilder &builder) { - static auto function = mf::build::SI4_SO( + static auto function = mf::build::SI4_SO( "Invert Color", - [](const float factor, const float4 &color, const bool invert_color, const bool invert_alpha) + [](const float4 &color, const float factor, const bool invert_color, const bool invert_alpha) -> float4 { float4 result = color; if (invert_color) { @@ -67,7 +60,7 @@ static void node_build_multi_function(blender::nodes::NodeMultiFunctionBuilder & } return math::interpolate(color, result, factor); }, - mf::build::exec_presets::SomeSpanOrSingle<1>()); + mf::build::exec_presets::SomeSpanOrSingle<0>()); builder.set_matching_fn(function); } diff --git a/source/blender/nodes/composite/nodes/node_composite_map_uv.cc b/source/blender/nodes/composite/nodes/node_composite_map_uv.cc index 9ee54565586..84a5f7a37ce 100644 --- a/source/blender/nodes/composite/nodes/node_composite_map_uv.cc +++ b/source/blender/nodes/composite/nodes/node_composite_map_uv.cc @@ -46,7 +46,6 @@ static void cmp_node_map_uv_declare(NodeDeclarationBuilder &b) .description( "The UV coordinates at which to sample the texture. The Z component is assumed to " "contain an alpha channel") - .compositor_domain_priority(0) .structure_type(StructureType::Dynamic); PanelDeclarationBuilder &sampling_panel = b.add_panel("Sampling").default_closed(true); diff --git a/source/blender/nodes/composite/nodes/node_composite_posterize.cc b/source/blender/nodes/composite/nodes/node_composite_posterize.cc index cfe4bcb5923..1592d2c3f51 100644 --- a/source/blender/nodes/composite/nodes/node_composite_posterize.cc +++ b/source/blender/nodes/composite/nodes/node_composite_posterize.cc @@ -25,14 +25,8 @@ namespace blender::nodes::node_composite_posterize_cc { static void cmp_node_posterize_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); - b.add_input("Steps") - .default_value(8.0f) - .min(2.0f) - .max(1024.0f) - .compositor_domain_priority(1); + b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Steps").default_value(8.0f).min(2.0f).max(1024.0f); b.add_output("Image"); } diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcomb_color.cc b/source/blender/nodes/composite/nodes/node_composite_sepcomb_color.cc index 1784500b706..6862fe498e3 100644 --- a/source/blender/nodes/composite/nodes/node_composite_sepcomb_color.cc +++ b/source/blender/nodes/composite/nodes/node_composite_sepcomb_color.cc @@ -73,9 +73,7 @@ NODE_STORAGE_FUNCS(NodeCMPCombSepColor) static void cmp_node_separate_color_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); + b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f}); b.add_output("Red"); b.add_output("Green"); b.add_output("Blue"); @@ -254,30 +252,10 @@ NODE_STORAGE_FUNCS(NodeCMPCombSepColor) static void cmp_node_combine_color_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Red") - .default_value(0.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(0); - b.add_input("Green") - .default_value(0.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(1); - b.add_input("Blue") - .default_value(0.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(2); - b.add_input("Alpha") - .default_value(1.0f) - .min(0.0f) - .max(1.0f) - .subtype(PROP_FACTOR) - .compositor_domain_priority(3); + b.add_input("Red").default_value(0.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); + b.add_input("Green").default_value(0.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); + b.add_input("Blue").default_value(0.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); + b.add_input("Alpha").default_value(1.0f).min(0.0f).max(1.0f).subtype(PROP_FACTOR); b.add_output("Image"); } diff --git a/source/blender/nodes/composite/nodes/node_composite_setalpha.cc b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc index 92f4e3753da..82a8807d7b1 100644 --- a/source/blender/nodes/composite/nodes/node_composite_setalpha.cc +++ b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc @@ -35,14 +35,8 @@ static const EnumPropertyItem type_items[] = { static void cmp_node_setalpha_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Image") - .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0); - b.add_input("Alpha") - .default_value(1.0f) - .min(0.0f) - .max(1.0f) - .compositor_domain_priority(1); + b.add_input("Image").default_value({1.0f, 1.0f, 1.0f, 1.0f}); + b.add_input("Alpha").default_value(1.0f).min(0.0f).max(1.0f); b.add_input("Type") .default_value(CMP_NODE_SETALPHA_MODE_APPLY) .static_items(type_items); diff --git a/source/blender/nodes/composite/nodes/node_composite_val_to_rgb.cc b/source/blender/nodes/composite/nodes/node_composite_val_to_rgb.cc index 3886be8bac8..c752074cc60 100644 --- a/source/blender/nodes/composite/nodes/node_composite_val_to_rgb.cc +++ b/source/blender/nodes/composite/nodes/node_composite_val_to_rgb.cc @@ -24,9 +24,7 @@ namespace blender::nodes::node_composite_rgb_to_bw_cc { static void cmp_node_rgbtobw_declare(NodeDeclarationBuilder &b) { b.is_function_node(); - b.add_input("Image") - .default_value({0.8f, 0.8f, 0.8f, 1.0f}) - .compositor_domain_priority(0); + b.add_input("Image").default_value({0.8f, 0.8f, 0.8f, 1.0f}); b.add_output("Val"); } diff --git a/source/blender/nodes/composite/nodes/node_composite_vec_blur.cc b/source/blender/nodes/composite/nodes/node_composite_vec_blur.cc index 2669489e68c..609d57e1688 100644 --- a/source/blender/nodes/composite/nodes/node_composite_vec_blur.cc +++ b/source/blender/nodes/composite/nodes/node_composite_vec_blur.cc @@ -35,12 +35,6 @@ static void cmp_node_vec_blur_declare(NodeDeclarationBuilder &b) { b.add_input("Image") .default_value({1.0f, 1.0f, 1.0f, 1.0f}) - .compositor_domain_priority(0) - .structure_type(StructureType::Dynamic); - b.add_input("Z") - .default_value(0.0f) - .min(0.0f) - .compositor_domain_priority(2) .structure_type(StructureType::Dynamic); b.add_input("Speed") .dimensions(4) @@ -48,8 +42,9 @@ static void cmp_node_vec_blur_declare(NodeDeclarationBuilder &b) .min(0.0f) .max(1.0f) .subtype(PROP_VELOCITY) - .compositor_domain_priority(1) .structure_type(StructureType::Dynamic); + b.add_input("Z").default_value(0.0f).min(0.0f).structure_type( + StructureType::Dynamic); b.add_input("Samples").default_value(32).min(1).max(256).description( "The number of samples used to approximate the motion blur"); b.add_input("Shutter").default_value(0.5f).min(0.0f).description( diff --git a/tests/files/compositor/filter/compositor_renders/node_filter_sobel_anim.png b/tests/files/compositor/filter/compositor_renders/node_filter_sobel_anim.png index f20087391d1..d9e67bed337 100644 --- a/tests/files/compositor/filter/compositor_renders/node_filter_sobel_anim.png +++ b/tests/files/compositor/filter/compositor_renders/node_filter_sobel_anim.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91a9ebacd4cafd1c75b6bc7d4ecfce30c8f892e826059d02ac08e4759e154543 -size 91990 +oid sha256:fd631c7408d339aa15bc747c62b624c69463bc2a3b0b212825d45cf5217c0826 +size 86156