[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16474] trunk/blender/source/blender/ render/intern/source/pipeline.c: Bugfix 12478

Ton Roosendaal ton at blender.org
Thu Sep 11 18:37:54 CEST 2008


Revision: 16474
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16474
Author:   ton
Date:     2008-09-11 18:37:53 +0200 (Thu, 11 Sep 2008)

Log Message:
-----------
Bugfix 12478

Border render didnt work for ANIM render.

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

Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c	2008-09-11 14:58:13 UTC (rev 16473)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c	2008-09-11 16:37:53 UTC (rev 16474)
@@ -1889,6 +1889,7 @@
 				re->result->tilerect= re->disprect;
 				
 				/* this copying sequence could become function? */
+				/* weak is: it chances disprect from border */
 				re->disprect.xmin= re->disprect.ymin= 0;
 				re->disprect.xmax= re->winx;
 				re->disprect.ymax= re->winy;
@@ -2413,7 +2414,7 @@
 }
 
 /* evaluating scene options for general Blender render */
-static int render_initialize_from_scene(Render *re, Scene *scene)
+static int render_initialize_from_scene(Render *re, Scene *scene, int anim)
 {
 	int winx, winy;
 	rcti disprect;
@@ -2441,6 +2442,12 @@
 	
 	re->scene= scene;
 	
+	/* not too nice, but it survives anim-border render */
+	if(anim) {
+		re->disprect= disprect;
+		return 1;
+	}
+	
 	/* check all scenes involved */
 	tag_scenes_for_render(re);
 	
@@ -2472,7 +2479,7 @@
 	
 	scene->r.cfra= frame;
 	
-	if(render_initialize_from_scene(re, scene)) {
+	if(render_initialize_from_scene(re, scene, 0)) {
 		do_render_all_options(re);
 	}
 	
@@ -2557,8 +2564,8 @@
 	bMovieHandle *mh= BKE_get_movie_handle(scene->r.imtype);
 	int cfrao= scene->r.cfra;
 	
-	/* do not call for each frame, it initializes & pops output window */
-	if(!render_initialize_from_scene(re, scene))
+	/* do not fully call for each frame, it initializes & pops output window */
+	if(!render_initialize_from_scene(re, scene, 0))
 		return;
 	
 	/* ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol */
@@ -2586,6 +2593,10 @@
 	} else {
 		for(scene->r.cfra= sfra; scene->r.cfra<=efra; scene->r.cfra++) {
 			char name[FILE_MAX];
+			
+			/* only border now, todo: camera lens. (ton) */
+			render_initialize_from_scene(re, scene, 1);
+			
 			if (scene->r.mode & (R_NO_OVERWRITE | R_TOUCH) ) {
 				BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype);
 			}





More information about the Bf-blender-cvs mailing list