[Bf-blender-cvs] [f2c8209] master: Fix T40751 preview image not generated after baking.

Antony Riakiotakis noreply at git.blender.org
Fri Sep 19 15:37:01 CEST 2014


Commit: f2c820975699b9f07a516148df330e334dc3329c
Author: Antony Riakiotakis
Date:   Fri Sep 19 15:36:49 2014 +0200
Branches: master
https://developer.blender.org/rBf2c820975699b9f07a516148df330e334dc3329c

Fix T40751 preview image not generated after baking.

A DAG_id_tag_update here is enough to fix the problem.

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

M	source/blender/editors/object/object_bake.c
M	source/blender/editors/object/object_bake_api.c
M	source/blender/render/intern/source/multires_bake.c

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

diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index 2402ecb..b895751 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -682,6 +682,7 @@ static void finish_bake_internal(BakeRender *bkr)
 			}
 
 			BKE_image_release_ibuf(ima, ibuf, NULL);
+			DAG_id_tag_update(&ima->id, 0);			
 		}
 	}
 
diff --git a/source/blender/editors/object/object_bake_api.c b/source/blender/editors/object/object_bake_api.c
index 372ca33..5746f9e 100644
--- a/source/blender/editors/object/object_bake_api.c
+++ b/source/blender/editors/object/object_bake_api.c
@@ -56,6 +56,7 @@
 #include "BKE_modifier.h"
 #include "BKE_mesh.h"
 #include "BKE_screen.h"
+#include "BKE_depsgraph.h"
 
 #include "RE_engine.h"
 #include "RE_pipeline.h"
@@ -260,13 +261,14 @@ static bool write_internal_bake_pixels(
 }
 
 /* force OpenGL reload */
-static void reset_images_gpu(BakeImages *bake_images)
+static void refresh_images(BakeImages *bake_images)
 {
 	int i;
 	for (i = 0; i < bake_images->size; i++) {
 		Image *ima = bake_images->data[i].image;
 		if (ima->ok == IMA_OK_LOADED) {
 			GPU_free_image(ima);
+			DAG_id_tag_update(&ima->id, 0);		
 		}
 	}
 }
@@ -966,7 +968,7 @@ cage_cleanup:
 	}
 
 	if (is_save_internal)
-		reset_images_gpu(&bake_images);
+		refresh_images(&bake_images);
 
 cleanup:
 
diff --git a/source/blender/render/intern/source/multires_bake.c b/source/blender/render/intern/source/multires_bake.c
index 4ac1593..d02bda2 100644
--- a/source/blender/render/intern/source/multires_bake.c
+++ b/source/blender/render/intern/source/multires_bake.c
@@ -42,6 +42,7 @@
 #include "BLI_threads.h"
 
 #include "BKE_ccg.h"
+#include "BKE_depsgraph.h"
 #include "BKE_global.h"
 #include "BKE_image.h"
 #include "BKE_multires.h"
@@ -1297,6 +1298,7 @@ static void finish_images(MultiresBakeRender *bkr, MultiresBakeResult *result)
 		}
 
 		BKE_image_release_ibuf(ima, ibuf, NULL);
+		DAG_id_tag_update(&ima->id, 0);		
 	}
 }




More information about the Bf-blender-cvs mailing list