Commit: 9fa78b3e8b64c14e9733373f740bd1da28188426 Author: Omar Emara Date: Thu Jun 16 11:52:18 2022 +0200 Branches: temp-viewport-compositor-merge https://developer.blender.org/rB9fa78b3e8b64c14e9733373f740bd1da28188426
Realtime Compositor: Correct multiply by alpha =================================================================== M source/blender/nodes/composite/nodes/node_composite_mixrgb.cc =================================================================== diff --git a/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc b/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc index f2985db9a67..a8123a50e58 100644 --- a/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc +++ b/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc @@ -47,12 +47,19 @@ class MixRGBShaderNode : public ShaderNode { GPUNodeStack *inputs = get_inputs_array(); GPUNodeStack *outputs = get_outputs_array(); - GPU_stack_link(material, &bnode(), get_shader_function_name(), inputs, outputs); - if (get_use_alpha()) { - GPU_link(material, "multiply_by_alpha", inputs[0].link, inputs[1].link, &inputs[0].link); + if (!inputs[0].hasinput) { + GPUNodeLink *factor; + GPU_link(material, "set_value", GPU_uniform(inputs[0].vec), &factor); + GPU_link(material, "multiply_by_alpha", factor, inputs[2].link, &inputs[0].link); + } + else { + GPU_link(material, "multiply_by_alpha", inputs[0].link, inputs[2].link, &inputs[0].link); + } } + GPU_stack_link(material, &bnode(), get_shader_function_name(), inputs, outputs); + if (!get_should_clamp()) { return; } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs