diff options
Diffstat (limited to 'source/blender/nodes/composite/node_composite_tree.c')
-rw-r--r-- | source/blender/nodes/composite/node_composite_tree.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c index dfc0bcb3f75..52dc364e590 100644 --- a/source/blender/nodes/composite/node_composite_tree.c +++ b/source/blender/nodes/composite/node_composite_tree.c @@ -660,6 +660,13 @@ static void force_hidden_passes(bNode *node, int passflag) for(sock= node->outputs.first; sock; sock= sock->next) sock->flag &= ~SOCK_UNAVAIL; + if(!(passflag & SCE_PASS_COMBINED)) { + sock= BLI_findlink(&node->outputs, RRES_OUT_IMAGE); + sock->flag |= SOCK_UNAVAIL; + sock= BLI_findlink(&node->outputs, RRES_OUT_ALPHA); + sock->flag |= SOCK_UNAVAIL; + } + sock= BLI_findlink(&node->outputs, RRES_OUT_Z); if(!(passflag & SCE_PASS_Z)) sock->flag |= SOCK_UNAVAIL; sock= BLI_findlink(&node->outputs, RRES_OUT_NORMAL); @@ -741,16 +748,16 @@ void ntreeCompositForceHidden(bNodeTree *ntree, Scene *curscene) if(rl) force_hidden_passes(node, rl->passflag); else - force_hidden_passes(node, 0); + force_hidden_passes(node, RRES_OUT_IMAGE|RRES_OUT_ALPHA); } else if(ima->type!=IMA_TYPE_MULTILAYER) { /* if ->rr not yet read we keep inputs */ - force_hidden_passes(node, RRES_OUT_Z); + force_hidden_passes(node, RRES_OUT_IMAGE|RRES_OUT_ALPHA|RRES_OUT_Z); } else - force_hidden_passes(node, 0); + force_hidden_passes(node, RRES_OUT_IMAGE|RRES_OUT_ALPHA); } else - force_hidden_passes(node, 0); + force_hidden_passes(node, RRES_OUT_IMAGE|RRES_OUT_ALPHA); } } |