diff options
Diffstat (limited to 'source/blender/nodes/composite/nodes/node_composite_image.c')
-rw-r--r-- | source/blender/nodes/composite/nodes/node_composite_image.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c index 659e582dc1d..34f3350c2ff 100644 --- a/source/blender/nodes/composite/nodes/node_composite_image.c +++ b/source/blender/nodes/composite/nodes/node_composite_image.c @@ -39,8 +39,6 @@ #include "BKE_global.h" #include "BKE_main.h" -#include "RNA_access.h" - /* **************** IMAGE (and RenderResult, multilayer image) ******************** */ static bNodeSocketTemplate cmp_node_rlayers_out[] = { @@ -184,6 +182,14 @@ static void cmp_node_image_add_multilayer_outputs(bNodeTree *ntree, bNode *node, sockdata->pass_index = index; sockdata->pass_flag = rpass->passtype; + + if (STREQ(rpass->chan_id, "RGBA")) { + sock = nodeAddStaticSocket(ntree, node, SOCK_OUT, SOCK_FLOAT, PROP_NONE, "Alpha", "Alpha"); + sockdata = MEM_callocN(sizeof(NodeImageLayer), "node image layer"); + sock->storage = sockdata; + sockdata->pass_index = index; + sockdata->pass_flag = rpass->passtype; + } } } @@ -441,7 +447,7 @@ static void node_composit_init_rlayers(const bContext *C, PointerRNA *ptr) static int node_composit_poll_rlayers(bNodeType *UNUSED(ntype), bNodeTree *ntree) { - if (strcmp(ntree->idname, "CompositorNodeTree") == 0) { + if (STREQ(ntree->idname, "CompositorNodeTree")) { Scene *scene; /* XXX ugly: check if ntree is a local scene node tree. |