From 5f5ee11fcbc475353e75c80898ae0c791d245235 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Mon, 19 Jun 2006 08:45:11 +0000 Subject: [PATCH] Seems a large commit, but I also changed function names to match the new naming convention for Compositing: - Render Result node -> Render Layers node (name only appears in Add menu) - Compositor image -> Viewer Node image I've also added a version patch (2.41 saved files only) to rename existing "Compositor" Images. --- source/blender/blenkernel/BKE_node.h | 2 +- source/blender/blenkernel/intern/node.c | 2 +- .../blenkernel/intern/node_composite.c | 20 ++++++------ source/blender/blenloader/intern/readfile.c | 11 ++++++- source/blender/include/BSE_node.h | 2 +- .../blender/render/intern/source/pipeline.c | 8 ++--- source/blender/src/buttons_scene.c | 4 +-- source/blender/src/drawimage.c | 2 +- source/blender/src/drawnode.c | 14 ++++---- source/blender/src/editnode.c | 32 +++++++++---------- source/blender/src/header_node.c | 4 +-- 11 files changed, 55 insertions(+), 46 deletions(-) diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 878d831180b..280d923ab95 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -217,7 +217,7 @@ void set_node_shader_lamp_loop(void (*lamp_loop_func)(struct ShadeInput *, str #define CMP_NODE_SETALPHA 218 #define CMP_NODE_HUE_SAT 219 #define CMP_NODE_IMAGE 220 -#define CMP_NODE_R_RESULT 221 +#define CMP_NODE_R_LAYERS 221 #define CMP_NODE_COMPOSITE 222 #define CMP_NODE_OUTPUT_FILE 223 #define CMP_NODE_TEXTURE 224 diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 17d93d3c543..ab99ba34667 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1928,7 +1928,7 @@ static void freeExecutableNode(bNodeTree *ntree) /* set exec flag for finished nodes that might need freed */ for(node= ntree->nodes.first; node; node= node->next) { - if(node->type!=CMP_NODE_R_RESULT) + if(node->type!=CMP_NODE_R_LAYERS) if(node->exec & NODE_FINISHED) node->exec |= NODE_FREEBUFS; } diff --git a/source/blender/blenkernel/intern/node_composite.c b/source/blender/blenkernel/intern/node_composite.c index d1c36371eda..ce054669baf 100644 --- a/source/blender/blenkernel/intern/node_composite.c +++ b/source/blender/blenkernel/intern/node_composite.c @@ -915,7 +915,7 @@ static bNodeType cmp_node_image= { #define RRES_OUT_AO 9 #define RRES_OUT_RAY 10 -static bNodeSocketType cmp_node_rresult_out[]= { +static bNodeSocketType cmp_node_rlayers_out[]= { { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VALUE, 0, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, @@ -956,7 +956,7 @@ static CompBuf *compbuf_from_pass(RenderData *rd, RenderLayer *rl, int rectx, in return NULL; } -static void node_composit_exec_rresult(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +static void node_composit_exec_rlayers(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { Scene *sce= node->id?(Scene *)node->id:G.scene; RenderData *rd= data; @@ -1015,15 +1015,15 @@ static void node_composit_exec_rresult(void *data, bNode *node, bNodeStack **in, /* custom1 = render layer in use */ /* custom2 = re-render tag */ -static bNodeType cmp_node_rresult= { - /* type code */ CMP_NODE_R_RESULT, - /* name */ "Render Result", +static bNodeType cmp_node_rlayers= { + /* type code */ CMP_NODE_R_LAYERS, + /* name */ "Render Layers", /* width+range */ 150, 100, 300, /* class+opts */ NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS, /* input sock */ NULL, - /* output sock */ cmp_node_rresult_out, + /* output sock */ cmp_node_rlayers_out, /* storage */ "", - /* execfunc */ node_composit_exec_rresult + /* execfunc */ node_composit_exec_rlayers }; @@ -2883,7 +2883,7 @@ bNodeType *node_all_composit[]= { &cmp_node_composite, &cmp_node_viewer, &cmp_node_output_file, - &cmp_node_rresult, + &cmp_node_rlayers, &cmp_node_image, &cmp_node_curve_rgb, &cmp_node_mix_rgb, @@ -2920,7 +2920,7 @@ void ntreeCompositTagRender(bNodeTree *ntree) if(ntree==NULL) return; for(node= ntree->nodes.first; node; node= node->next) { - if( ELEM(node->type, CMP_NODE_R_RESULT, CMP_NODE_COMPOSITE)) + if( ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_COMPOSITE)) NodeTagChanged(ntree, node); } } @@ -2952,7 +2952,7 @@ void ntreeCompositTagGenerators(bNodeTree *ntree) if(ntree==NULL) return; for(node= ntree->nodes.first; node; node= node->next) { - if( ELEM(node->type, CMP_NODE_R_RESULT, CMP_NODE_IMAGE)) + if( ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_IMAGE)) NodeTagChanged(ntree, node); } } diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index bdb18c62324..4208d4fe972 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -5496,6 +5496,15 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } } + /* during 2.41 images with this name were used for viewer node output, lets fix that */ + if(main->versionfile == 241) { + Image *ima; + for(ima= main->image.first; ima; ima= ima->id.next) + if(strcmp(ima->name, "Compositor")==0) { + strcpy(ima->id.name+2, "Viewer Node"); + strcpy(ima->name, "Viewer Node"); + } + } } @@ -5750,7 +5759,7 @@ static void expand_nodetree(FileData *fd, Main *mainvar, bNodeTree *ntree) bNode *node; for(node= ntree->nodes.first; node; node= node->next) - if(node->id && node->type!=CMP_NODE_R_RESULT) + if(node->id && node->type!=CMP_NODE_R_LAYERS) expand_doit(fd, mainvar, node->id); } diff --git a/source/blender/include/BSE_node.h b/source/blender/include/BSE_node.h index 19b1d8fc131..ed9276d88be 100644 --- a/source/blender/include/BSE_node.h +++ b/source/blender/include/BSE_node.h @@ -68,7 +68,7 @@ void node_make_group(struct SpaceNode *snode); void node_ungroup(struct SpaceNode *snode); void snode_make_group_editable(struct SpaceNode *snode, struct bNode *gnode); void node_hide(struct SpaceNode *snode); -void node_read_renderresults(struct SpaceNode *snode); +void node_read_renderlayers(struct SpaceNode *snode); void node_transform_ext(int mode, int unused); void node_shader_default(struct Material *ma); diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 94eca974614..89aeea6a464 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -1537,9 +1537,9 @@ static void ntree_render_scenes(Render *re) if(re->scene->nodetree==NULL) return; - /* check for render-result nodes using other scenes, we tag them LIB_DOIT */ + /* check for render-layers nodes using other scenes, we tag them LIB_DOIT */ for(node= re->scene->nodetree->nodes.first; node; node= node->next) { - if(node->type==CMP_NODE_R_RESULT) { + if(node->type==CMP_NODE_R_LAYERS) { if(node->id) { if(node->id != (ID *)re->scene) node->id->flag |= LIB_DOIT; @@ -1552,7 +1552,7 @@ static void ntree_render_scenes(Render *re) /* now foreach render-result node tagged we do a full render */ /* results are stored in a way compisitor will find it */ for(node= re->scene->nodetree->nodes.first; node; node= node->next) { - if(node->type==CMP_NODE_R_RESULT) { + if(node->type==CMP_NODE_R_LAYERS) { if(node->id && node->id != (ID *)re->scene) { if(node->id->flag & LIB_DOIT) { render_scene(re, (Scene *)node->id, cfra); @@ -1579,7 +1579,7 @@ static int composite_needs_render(Scene *sce) if((sce->r.scemode & R_DOCOMP)==0) return 1; for(node= ntree->nodes.first; node; node= node->next) { - if(node->type==CMP_NODE_R_RESULT) + if(node->type==CMP_NODE_R_LAYERS) if(node->id==NULL || node->id!=&sce->id) return 1; } diff --git a/source/blender/src/buttons_scene.c b/source/blender/src/buttons_scene.c index 77ab2f30ff9..c5ed5e70e71 100644 --- a/source/blender/src/buttons_scene.c +++ b/source/blender/src/buttons_scene.c @@ -1707,7 +1707,7 @@ static void delete_scene_layer_func(void *srl_v, void *act_i) if(G.scene->nodetree) { bNode *node; for(node= G.scene->nodetree->nodes.first; node; node= node->next) { - if(node->type==CMP_NODE_R_RESULT && node->id==NULL) { + if(node->type==CMP_NODE_R_LAYERS && node->id==NULL) { if(node->custom1==act) node->custom1= 0; else if(node->custom1>act) @@ -1726,7 +1726,7 @@ static void rename_scene_layer_func(void *srl_v, void *unused_v) SceneRenderLayer *srl= srl_v; bNode *node; for(node= G.scene->nodetree->nodes.first; node; node= node->next) { - if(node->type==CMP_NODE_R_RESULT && node->id==NULL) { + if(node->type==CMP_NODE_R_LAYERS && node->id==NULL) { if(node->custom1==G.scene->r.actlay) BLI_strncpy(node->name, srl->name, NODE_MAXSTR); } diff --git a/source/blender/src/drawimage.c b/source/blender/src/drawimage.c index 2e3636685cb..02901aaab0a 100644 --- a/source/blender/src/drawimage.c +++ b/source/blender/src/drawimage.c @@ -161,7 +161,7 @@ static int image_preview_active(ScrArea *sa, float *xim, float *yim) SpaceImage *sima= sa->spacedata.first; /* only when compositor shows, and image handler set */ - if(sima->image == (Image *)find_id("IM", "Compositor")) { + if(sima->image == (Image *)find_id("IM", "Viewer Node")) { short a; for(a=0; aid); } - set_render_result_title(node, NULL); + set_render_layers_title(node, NULL); nodeSetActive(ntree, node); allqueue(REDRAWBUTSSHADING, 0); @@ -800,7 +800,7 @@ static void node_browse_scene_cb(void *ntree_v, void *node_v) } -static int node_composit_buts_renderresult(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) +static int node_composit_buts_renderlayers(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr) { if(block) { uiBut *bt; @@ -826,7 +826,7 @@ static int node_composit_buts_renderresult(uiBlock *block, bNodeTree *ntree, bNo bt= uiDefButS(block, MENU, B_NODE_EXEC+node->nr, strp, butr->xmin+20, butr->ymin, (butr->xmax-butr->xmin)-40, 19, &node->custom1, 0, 0, 0, 0, "Choose Render Layer"); - uiButSetFunc(bt, set_render_result_title, node, NULL); + uiButSetFunc(bt, set_render_layers_title, node, NULL); MEM_freeN(strp); /* re-render */ @@ -993,8 +993,8 @@ static void node_composit_set_butfunc(bNodeType *ntype) case CMP_NODE_IMAGE: ntype->butfunc= node_composit_buts_image; break; - case CMP_NODE_R_RESULT: - ntype->butfunc= node_composit_buts_renderresult; + case CMP_NODE_R_LAYERS: + ntype->butfunc= node_composit_buts_renderlayers; break; case CMP_NODE_NORMAL: ntype->butfunc= node_buts_normal; diff --git a/source/blender/src/editnode.c b/source/blender/src/editnode.c index babdd8dbf16..d65dd56f223 100644 --- a/source/blender/src/editnode.c +++ b/source/blender/src/editnode.c @@ -214,7 +214,7 @@ static bNode *snode_get_editgroup(SpaceNode *snode) return gnode; } -/* node has to be of type render result */ +/* node has to be of type 'render layers' */ /* is a bit clumsy copying renderdata here... scene nodes use render size of current render */ static void composite_node_render(SpaceNode *snode, bNode *node) { @@ -285,7 +285,7 @@ static void composit_node_event(SpaceNode *snode, short event) if(node) { NodeTagChanged(snode->edittree, node); /* not the best implementation of the world... but we need it to work now :) */ - if(node->type==CMP_NODE_R_RESULT && node->custom2) + if(node->type==CMP_NODE_R_LAYERS && node->custom2) composite_node_render(snode, node); else { node= snode_get_editgroup(snode); @@ -349,7 +349,7 @@ void node_composit_default(Scene *sce) out2= nodeAddNodeType(sce->nodetree, CMP_NODE_COMPOSITE, NULL); out2->locx= 300.0f; out2->locy= 500.0f; - in= nodeAddNodeType(sce->nodetree, CMP_NODE_R_RESULT, NULL); + in= nodeAddNodeType(sce->nodetree, CMP_NODE_R_LAYERS, NULL); in->locx= 10.0f; in->locy= 400.0f; nodeSetActive(sce->nodetree, in); @@ -362,10 +362,10 @@ void node_composit_default(Scene *sce) ntreeSolveOrder(sce->nodetree); /* needed for pointers */ - out1->id= find_id("IM", "Compositor"); + out1->id= find_id("IM", "Viewer Node"); if(out1->id==NULL) { - Image *ima= alloc_libblock(&G.main->image, ID_IM, "Compositor"); - strcpy(ima->name, "Compositor"); + Image *ima= alloc_libblock(&G.main->image, ID_IM, "Viewer Node"); + strcpy(ima->name, "Viewer Node"); ima->ok= 1; ima->xrep= ima->yrep= 1; out1->id= &ima->id; @@ -454,10 +454,10 @@ static void node_set_active(SpaceNode *snode, bNode *node) /* add node doesnt link this yet... */ if(node->id==NULL) { - node->id= find_id("IM", "Compositor"); + node->id= find_id("IM", "Viewer Node"); if(node->id==NULL) { - Image *ima= alloc_libblock(&G.main->image, ID_IM, "Compositor"); - strcpy(ima->name, "Compositor"); + Image *ima= alloc_libblock(&G.main->image, ID_IM, "Viewer Node"); + strcpy(ima->name, "Viewer Node"); ima->ok= 1; ima->xrep= ima->yrep= 1; node->id= &ima->id; @@ -1685,8 +1685,8 @@ static void node_border_link_delete(SpaceNode *snode) setcursor_space(SPACE_NODE, CURSOR_STD); } -/* goes over all scenes, reads render results */ -void node_read_renderresults(SpaceNode *snode) +/* goes over all scenes, reads render layerss */ +void node_read_renderlayers(SpaceNode *snode) { Scene *scene; bNode *node; @@ -1696,7 +1696,7 @@ void node_read_renderresults(SpaceNode *snode) scene->id.flag |= LIB_DOIT; for(node= snode->edittree->nodes.first; node; node= node->next) { - if(node->type==CMP_NODE_R_RESULT) { + if(node->type==CMP_NODE_R_LAYERS) { ID *id= node->id; if(id==NULL) id= (ID *)G.scene; if(id->flag & LIB_DOIT) { @@ -1726,11 +1726,11 @@ void node_make_group(SpaceNode *snode) if(snode->treetype==NTREE_COMPOSIT) { for(gnode=snode->nodetree->nodes.first; gnode; gnode= gnode->next) { if(gnode->flag & SELECT) - if(gnode->type==CMP_NODE_R_RESULT) + if(gnode->type==CMP_NODE_R_LAYERS) break; } if(gnode) { - error("Can not add RenderResult in a Group"); + error("Can not add RenderLayer in a Group"); return; } } @@ -1922,8 +1922,8 @@ void winqreadnodespace(ScrArea *sa, void *spacedata, BWinEvent *evt) node_hide(snode); break; case RKEY: - if(okee("Read saved Render Results")) - node_read_renderresults(snode); + if(okee("Read saved Render Layers")) + node_read_renderlayers(snode); break; case DELKEY: case XKEY: diff --git a/source/blender/src/header_node.c b/source/blender/src/header_node.c index bf81878cfb8..8a9b31e162a 100644 --- a/source/blender/src/header_node.c +++ b/source/blender/src/header_node.c @@ -442,8 +442,8 @@ static void do_node_nodemenu(void *arg, int event) case 7: /* hide/unhide */ node_hide(snode); break; - case 8: /* read saved render results */ - node_read_renderresults(snode); + case 8: /* read saved render layers */ + node_read_renderlayers(snode); break; case 9: /* show cyclic */ ntreeSolveOrder(snode->edittree);