[Bf-blender-cvs] [4d3e44108e7] viewport-compositor: Viewport Compositor: Port Convert Alpha node

Omar Emara noreply at git.blender.org
Tue Dec 28 20:02:44 CET 2021


Commit: 4d3e44108e7ba402682d68aeb604b0420e0f5c08
Author: Omar Emara
Date:   Fri Nov 12 13:12:12 2021 +0200
Branches: viewport-compositor
https://developer.blender.org/rB4d3e44108e7ba402682d68aeb604b0420e0f5c08

Viewport Compositor: Port Convert Alpha node

This patch ports the Convert Alpha node to the viewport compositor. The
shader is a straightforward port of the compositor code.

===================================================================

M	source/blender/nodes/composite/nodes/node_composite_premulkey.cc

===================================================================

diff --git a/source/blender/nodes/composite/nodes/node_composite_premulkey.cc b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
index 68716ee53b5..38b2664809b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
@@ -34,12 +34,27 @@ static bNodeSocketTemplate cmp_node_premulkey_out[] = {
     {-1, ""},
 };
 
+static int node_composite_gpu_premulkey(GPUMaterial *mat,
+                                        bNode *node,
+                                        bNodeExecData *UNUSED(execdata),
+                                        GPUNodeStack *in,
+                                        GPUNodeStack *out)
+{
+  if (node->custom1 == 1) {
+    return GPU_stack_link(mat, node, "color_alpha_unpremultiply", in, out);
+  }
+  else {
+    return GPU_stack_link(mat, node, "color_alpha_premultiply", in, out);
+  }
+}
+
 void register_node_type_cmp_premulkey(void)
 {
   static bNodeType ntype;
 
   cmp_node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", NODE_CLASS_CONVERTER, 0);
   node_type_socket_templates(&ntype, cmp_node_premulkey_in, cmp_node_premulkey_out);
+  node_type_gpu(&ntype, node_composite_gpu_premulkey);
 
   nodeRegisterType(&ntype);
 }



More information about the Bf-blender-cvs mailing list