[Bf-blender-cvs] [6cd717e] master: Fix T39521: Render with two Blender processes on same computer: compression issues?

Bastien Montagne noreply at git.blender.org
Wed Apr 2 12:09:22 CEST 2014


Commit: 6cd717e0a3c6151f6dc578dcfc27cc269b172c99
Author: Bastien Montagne
Date:   Wed Apr 2 11:57:10 2014 +0200
https://developer.blender.org/rB6cd717e0a3c6151f6dc578dcfc27cc269b172c99

Fix T39521: Render with two Blender processes on same computer: compression issues?

We need to salt temp exr filenames with pid, else several instances of Blender rendering
the same scene on same machine and using "Save Buffers" option would use the same files!

===================================================================

M	source/blender/render/intern/source/render_result.c

===================================================================

diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c
index f27bd3a..f63deff 100644
--- a/source/blender/render/intern/source/render_result.c
+++ b/source/blender/render/intern/source/render_result.c
@@ -41,6 +41,8 @@
 #include "BLI_path_util.h"
 #include "BLI_rect.h"
 #include "BLI_string.h"
+#include "BLI_system.h"
+#include BLI_SYSTEM_PID_H
 #include "BLI_threads.h"
 
 #include "BKE_image.h"
@@ -1023,10 +1025,13 @@ void render_result_exr_file_path(Scene *scene, const char *layname, int sample,
 	char name[FILE_MAXFILE + MAX_ID_NAME + MAX_ID_NAME + 100], fi[FILE_MAXFILE];
 	
 	BLI_split_file_part(G.main->name, fi, sizeof(fi));
-	if (sample == 0)
-		BLI_snprintf(name, sizeof(name), "%s_%s_%s.exr", fi, scene->id.name + 2, layname);
-	else
-		BLI_snprintf(name, sizeof(name), "%s_%s_%s%d.exr", fi, scene->id.name + 2, layname, sample);
+	if (sample == 0) {
+		BLI_snprintf(name, sizeof(name), "%s_%s_%s_%d.exr", fi, scene->id.name + 2, layname, abs(getpid()));
+	}
+	else {
+		BLI_snprintf(name, sizeof(name), "%s_%s_%s%d_%d.exr", fi, scene->id.name + 2, layname, sample,
+		             abs(getpid()));
+	}
 
 	BLI_make_file_string("/", filepath, BLI_temporary_dir(), name);
 }




More information about the Bf-blender-cvs mailing list