diff options
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/composite/node_composite_tree.c | 16 | ||||
-rw-r--r-- | source/blender/nodes/texture/node_texture_tree.c | 20 |
2 files changed, 17 insertions, 19 deletions
diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c index 00c279ab8f6..085b5c463b9 100644 --- a/source/blender/nodes/composite/node_composite_tree.c +++ b/source/blender/nodes/composite/node_composite_tree.c @@ -301,25 +301,23 @@ void ntreeCompositRegisterPass(bNodeTree *ntree, /* called from render pipeline, to tag render input and output */ /* need to do all scenes, to prevent errors when you re-render 1 scene */ -void ntreeCompositTagRender(Scene *curscene) +void ntreeCompositTagRender(Scene *scene) { - Scene *sce; - /* XXX Think using G_MAIN here is valid, since you want to update current file's scene nodes, * not the ones in temp main generated for rendering? * This is still rather weak though, * ideally render struct would store own main AND original G_MAIN. */ - for (sce = G_MAIN->scenes.first; sce; sce = sce->id.next) { - if (sce->nodetree) { + for (Scene *sce_iter = G_MAIN->scenes.first; sce_iter; sce_iter = sce_iter->id.next) { + if (sce_iter->nodetree) { bNode *node; - for (node = sce->nodetree->nodes.first; node; node = node->next) { - if (node->id == (ID *)curscene || node->type == CMP_NODE_COMPOSITE) { - nodeUpdate(sce->nodetree, node); + for (node = sce_iter->nodetree->nodes.first; node; node = node->next) { + if (node->id == (ID *)scene || node->type == CMP_NODE_COMPOSITE) { + nodeUpdate(sce_iter->nodetree, node); } else if (node->type == CMP_NODE_TEXTURE) /* uses scene sizex/sizey */ { - nodeUpdate(sce->nodetree, node); + nodeUpdate(sce_iter->nodetree, node); } } } diff --git a/source/blender/nodes/texture/node_texture_tree.c b/source/blender/nodes/texture/node_texture_tree.c index b3d595cc69b..d8818657e1c 100644 --- a/source/blender/nodes/texture/node_texture_tree.c +++ b/source/blender/nodes/texture/node_texture_tree.c @@ -275,8 +275,8 @@ void ntreeTexEndExecTree(bNodeTreeExec *exec) } } -int ntreeTexExecTree(bNodeTree *nodes, - TexResult *texres, +int ntreeTexExecTree(bNodeTree *ntree, + TexResult *target, float co[3], float dxt[3], float dyt[3], @@ -289,16 +289,16 @@ int ntreeTexExecTree(bNodeTree *nodes, MTex *mtex) { TexCallData data; - float *nor = texres->nor; + float *nor = target->nor; int retval = TEX_INT; bNodeThreadStack *nts = NULL; - bNodeTreeExec *exec = nodes->execdata; + bNodeTreeExec *exec = ntree->execdata; data.co = co; data.dxt = dxt; data.dyt = dyt; data.osatex = osatex; - data.target = texres; + data.target = target; data.do_preview = preview; data.do_manage = true; data.thread = thread; @@ -309,26 +309,26 @@ int ntreeTexExecTree(bNodeTree *nodes, /* ensure execdata is only initialized once */ if (!exec) { BLI_thread_lock(LOCK_NODES); - if (!nodes->execdata) { - ntreeTexBeginExecTree(nodes); + if (!ntree->execdata) { + ntreeTexBeginExecTree(ntree); } BLI_thread_unlock(LOCK_NODES); - exec = nodes->execdata; + exec = ntree->execdata; } nts = ntreeGetThreadStack(exec, thread); ntreeExecThreadNodes(exec, nts, &data, thread); ntreeReleaseThreadStack(nts); - if (texres->nor) { + if (target->nor) { retval |= TEX_NOR; } retval |= TEX_RGB; /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was * set however, the texture code checks this for other reasons * (namely, a normal is required for material). */ - texres->nor = nor; + target->nor = nor; return retval; } |