[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14202] trunk/blender/source/blender:

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Mar 21 18:37:25 CET 2008


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);





More information about the Bf-blender-cvs mailing list