/* based on rules, force sockets hidden always */ void ntreeCompositForceHidden(bNodeTree *ntree, Scene *curscene) { bNode *node; if (ntree == NULL) return; for (node = ntree->nodes.first; node; node = node->next) { if (node->type == CMP_NODE_R_LAYERS) { Scene *sce = node->id ? (Scene *)node->id : curscene; SceneRenderLayer *srl = BLI_findlink(&sce->r.layers, node->custom1); if (srl) force_hidden_passes(node, srl->passflag); } /* XXX this stuff is called all the time, don't want that. * Updates should only happen when actually necessary. */ #if 0 else if (node->type == CMP_NODE_IMAGE) { nodeUpdate(ntree, node); } #endif } }
/* based on rules, force sockets hidden always */ void ntreeCompositForceHidden(bNodeTree *ntree, Scene *curscene) { bNode *node; if(ntree==NULL) return; for(node= ntree->nodes.first; node; node= node->next) { if( node->type==CMP_NODE_R_LAYERS) { Scene *sce= node->id?(Scene *)node->id:curscene; SceneRenderLayer *srl= BLI_findlink(&sce->r.layers, node->custom1); if(srl) force_hidden_passes(node, srl->passflag); } else if( node->type==CMP_NODE_IMAGE) { Image *ima= (Image *)node->id; if(ima) { if(ima->rr) { ImageUser *iuser= node->storage; RenderLayer *rl= BLI_findlink(&ima->rr->layers, iuser->layer); if(rl) force_hidden_passes(node, rl->passflag); else force_hidden_passes(node, 0); } else if(ima->type!=IMA_TYPE_MULTILAYER) { /* if ->rr not yet read we keep inputs */ force_hidden_passes(node, RRES_OUT_Z); } else force_hidden_passes(node, 0); } else force_hidden_passes(node, 0); } } }