[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49277] trunk/blender/source/blender/ editors/render/render_opengl.c: Fix #32187: OpenGL preview does not take into account overwrite option

Sergey Sharybin sergey.vfx at gmail.com
Fri Jul 27 10:58:34 CEST 2012


Revision: 49277
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49277
Author:   nazgul
Date:     2012-07-27 08:58:34 +0000 (Fri, 27 Jul 2012)
Log Message:
-----------
Fix #32187: OpenGL preview does not take into account overwrite option

Modified Paths:
--------------
    trunk/blender/source/blender/editors/render/render_opengl.c

Modified: trunk/blender/source/blender/editors/render/render_opengl.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_opengl.c	2012-07-27 08:36:48 UTC (rev 49276)
+++ trunk/blender/source/blender/editors/render/render_opengl.c	2012-07-27 08:58:34 UTC (rev 49277)
@@ -476,6 +476,7 @@
 	int ok = 0;
 	const short view_context = (oglrender->v3d != NULL);
 	Object *camera = NULL;
+	int is_movie;
 
 	/* go to next frame */
 	if (CFRA < oglrender->nfra)
@@ -490,6 +491,21 @@
 		CFRA++;
 	}
 
+	is_movie = BKE_imtype_is_movie(scene->r.im_format.imtype);
+
+	if (!is_movie) {
+		BKE_makepicstring(name, scene->r.pic, oglrender->bmain->name, scene->r.cfra, scene->r.im_format.imtype, scene->r.scemode & R_EXTENSION, TRUE);
+
+		if ((scene->r.mode & R_NO_OVERWRITE) && BLI_exists(name)) {
+			printf("skipping existing frame \"%s\"\n", name);
+
+			/* go to next frame */
+			oglrender->nfra += scene->r.frame_step;
+
+			return 1;
+		}
+	}
+
 	/* update animated image textures for gpu, etc,
 	 * call before BKE_scene_update_for_newframe so modifiers with textures don't lag 1 frame */
 	ED_image_update_frame(bmain, CFRA);
@@ -538,7 +554,7 @@
 			ibuf = ibuf_cpy;
 		}
 
-		if (BKE_imtype_is_movie(scene->r.im_format.imtype)) {
+		if (is_movie) {
 			ok = oglrender->mh->append_movie(&scene->r, SFRA, CFRA, (int *)ibuf->rect,
 			                                 oglrender->sizex, oglrender->sizey, oglrender->reports);
 			if (ok) {
@@ -547,7 +563,6 @@
 			}
 		}
 		else {
-			BKE_makepicstring(name, scene->r.pic, oglrender->bmain->name, scene->r.cfra, scene->r.im_format.imtype, scene->r.scemode & R_EXTENSION, TRUE);
 			ok = BKE_imbuf_write_stamp(scene, camera, ibuf, name, &scene->r.im_format);
 
 			if (ok == 0) {




More information about the Bf-blender-cvs mailing list