Revision: 27767
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27767
Author:   blendix
Date:     2010-03-26 11:41:48 +0100 (Fri, 26 Mar 2010)

Log Message:
-----------
fix rendering another scene from the compositor not working.
(commit 27745 by Brecht from render25 branch)

Modified Paths:
--------------
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/render/intern/source/pipeline.c

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h     2010-03-26 
10:33:53 UTC (rev 27766)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h     2010-03-26 
10:41:48 UTC (rev 27767)
@@ -900,7 +900,7 @@
 #define R_NO_TEX                       0x2000
 #define R_STAMP_INFO           0x4000  /* deprecated */
 #define R_FULL_SAMPLE          0x8000
-#define R_COMP_RERENDER                0x10000
+#define R_DEPRECATED           0x10000
 #define R_RECURS_PROTECTION    0x20000
 #define R_TEXNODE_PREVIEW      0x40000
 

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c        
2010-03-26 10:33:53 UTC (rev 27766)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c        
2010-03-26 10:41:48 UTC (rev 27767)
@@ -1275,7 +1275,7 @@
                int index = BLI_findindex(&re->r.layers, srl);
                if (index != -1) {
                        re->r.actlay = index;
-                       re->r.scemode |= (R_SINGLE_LAYER|R_COMP_RERENDER);
+                       re->r.scemode |= R_SINGLE_LAYER;
                }
        }
                
@@ -2217,6 +2217,7 @@
        
        /* still unsure entity this... */
        resc->scene= sce;
+       resc->lay= sce->lay;
        
        /* ensure scene has depsgraph, base flags etc OK */
        set_scene_bg(sce);
@@ -2449,38 +2450,36 @@
                        ntreeCompositTagAnimated(ntree);
                }
                
-               if(1 || !(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(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(re->tbh)) {
+                               ntree->stats_draw= render_composit_stats;
+                               ntree->test_break= re->test_break;
+                               ntree->sdh= re->sdh;
+                               ntree->tbh= re->tbh;
+                               /* in case it was never initialized */
+                               R.sdh= re->sdh;
+                               R.stats_draw= re->stats_draw;
                                
-                               if(!re->test_break(re->tbh)) {
-                                       ntree->stats_draw= 
render_composit_stats;
-                                       ntree->test_break= re->test_break;
-                                       ntree->sdh= re->sdh;
-                                       ntree->tbh= re->tbh;
-                                       /* in case it was never initialized */
-                                       R.sdh= re->sdh;
-                                       R.stats_draw= re->stats_draw;
-                                       
-                                       if (update_newframe)
-                                               
scene_update_for_newframe(re->scene, re->lay);
-                                       
-                                       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;
-                                       ntree->tbh= ntree->sdh= NULL;
+                               if (update_newframe)
+                                       scene_update_for_newframe(re->scene, 
re->lay);
+                               
+                               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;
+                               ntree->tbh= ntree->sdh= 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... 
*/


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to