[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27767] trunk/blender/source/blender: fix rendering another scene from the compositor not working.

Brecht Van Lommel brecht at blender.org
Fri Mar 26 11:41:48 CET 2010


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... */





More information about the Bf-blender-cvs mailing list