Revision: 14202 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14202 Author: blendix Date: 2008-03-21 18:37:24 +0100 (Fri, 21 Mar 2008)
Log Message: ----------- Bugfix: don't do full sample merging on re-rendered layers in the compositor. Modified Paths: -------------- trunk/blender/source/blender/makesdna/DNA_scene_types.h trunk/blender/source/blender/render/intern/source/pipeline.c trunk/blender/source/blender/src/editnode.c Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h =================================================================== --- trunk/blender/source/blender/makesdna/DNA_scene_types.h 2008-03-21 17:13:35 UTC (rev 14201) +++ trunk/blender/source/blender/makesdna/DNA_scene_types.h 2008-03-21 17:37:24 UTC (rev 14202) @@ -225,10 +225,12 @@ short bufflag; short quality; + short rpad; + /** * Flags for render settings. Use bit-masking to access the settings. */ - short scemode; + int scemode; /** * Flags for render settings. Use bit-masking to access the settings. @@ -236,7 +238,7 @@ int mode; /* render engine, octree resolution */ - short renderer, ocres, rpad[2]; + short renderer, ocres; /** * What to do with the sky/background. Picks sky/premul/key @@ -608,7 +610,7 @@ #define R_INTERN 0 #define R_YAFRAY 1 -/* scemode */ +/* scemode (int now) */ #define R_DOSEQ 0x0001 #define R_BG_RENDER 0x0002 /* passepartout is camera option now, keep this for backward compatibility */ @@ -626,6 +628,7 @@ #define R_NO_TEX 0x2000 #define R_STAMP_INFO 0x4000 #define R_FULL_SAMPLE 0x8000 +#define R_COMP_RERENDER 0x10000 /* r->stamp */ #define R_STAMP_TIME 0x0001 Modified: trunk/blender/source/blender/render/intern/source/pipeline.c =================================================================== --- trunk/blender/source/blender/render/intern/source/pipeline.c 2008-03-21 17:13:35 UTC (rev 14201) +++ trunk/blender/source/blender/render/intern/source/pipeline.c 2008-03-21 17:37:24 UTC (rev 14202) @@ -2156,30 +2156,30 @@ ntreeCompositTagAnimated(ntree); } - if(ntree && re->r.scemode & R_DOCOMP) { - /* checks if there are render-result nodes that need scene */ - if((re->r.scemode & R_SINGLE_LAYER)==0) - ntree_render_scenes(re); - - if(!re->test_break()) { - ntree->stats_draw= render_composit_stats; - ntree->test_break= re->test_break; - /* in case it was never initialized */ - R.stats_draw= re->stats_draw; + if(!(re->r.scemode & R_COMP_RERENDER)) { + if(ntree && re->r.scemode & R_DOCOMP) { + /* checks if there are render-result nodes that need scene */ + if((re->r.scemode & R_SINGLE_LAYER)==0) + ntree_render_scenes(re); - if(re->r.scemode & R_FULL_SAMPLE) - do_merge_fullsample(re, ntree); - else - ntreeCompositExecTree(ntree, &re->r, G.background==0); - - ntree->stats_draw= NULL; - ntree->test_break= NULL; + if(!re->test_break()) { + ntree->stats_draw= render_composit_stats; + ntree->test_break= re->test_break; + /* in case it was never initialized */ + R.stats_draw= re->stats_draw; + + if(re->r.scemode & R_FULL_SAMPLE) + do_merge_fullsample(re, ntree); + else + ntreeCompositExecTree(ntree, &re->r, G.background==0); + + ntree->stats_draw= NULL; + ntree->test_break= NULL; + } } + else if(re->r.scemode & R_FULL_SAMPLE) + do_merge_fullsample(re, NULL); } - else - if(re->r.scemode & R_FULL_SAMPLE) - do_merge_fullsample(re, NULL); - } /* weak... the display callback wants an active renderlayer pointer... */ Modified: trunk/blender/source/blender/src/editnode.c =================================================================== --- trunk/blender/source/blender/src/editnode.c 2008-03-21 17:13:35 UTC (rev 14201) +++ trunk/blender/source/blender/src/editnode.c 2008-03-21 17:37:24 UTC (rev 14202) @@ -256,8 +256,8 @@ scemode= G.scene->r.scemode; actlay= G.scene->r.actlay; - - G.scene->r.scemode |= R_SINGLE_LAYER; + + G.scene->r.scemode |= R_SINGLE_LAYER|R_COMP_RERENDER; G.scene->r.actlay= node->custom1; BIF_do_render(0); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs