[Bf-blender-cvs] [9fa78b3e8b6] temp-viewport-compositor-merge: Realtime Compositor: Correct multiply by alpha
Omar Emara
noreply at git.blender.org
Tue Jun 28 13:07:11 CEST 2022
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;
}
More information about the Bf-blender-cvs
mailing list