diff options
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/render_result.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index f27bd3a8292..f63deff04ae 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); } |