diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-02-11 16:26:42 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-02-11 16:28:41 +0300 |
commit | 88efcdc376851c2f7e0afbb1c06669360d1d7d61 (patch) | |
tree | 05bd8abeca8da52de7dfe359892177f70ee222fd /source/blender/nodes | |
parent | 560c05e8bd94acae41470e118b7a7745243f0cec (diff) |
Compositor: Expose Alpha socket for multilayer EXR node
This way re-mapping scene nodes to EXR files becomes much easier,
no extra trickery with separate RGBA setups is needed.
Plus makes it more consistent with regular EXR files.
This uses EGBA pass to get alpha from.
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/composite/nodes/node_composite_image.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c index e8845b543b8..34f3350c2ff 100644 --- a/source/blender/nodes/composite/nodes/node_composite_image.c +++ b/source/blender/nodes/composite/nodes/node_composite_image.c @@ -182,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; + } } } |