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

Reply via email to