[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56260] trunk/blender/source/blender/ render/intern/source/bake.c: fix glitch where vertex baking wouldn' t always refresh the mesh.

Campbell Barton ideasman42 at gmail.com
Wed Apr 24 15:12:29 CEST 2013


Revision: 56260
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56260
Author:   campbellbarton
Date:     2013-04-24 13:12:29 +0000 (Wed, 24 Apr 2013)
Log Message:
-----------
fix glitch where vertex baking wouldn't always refresh the mesh.

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

Modified: trunk/blender/source/blender/render/intern/source/bake.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/bake.c	2013-04-24 12:39:37 UTC (rev 56259)
+++ trunk/blender/source/blender/render/intern/source/bake.c	2013-04-24 13:12:29 UTC (rev 56260)
@@ -53,6 +53,7 @@
 #include "BKE_main.h"
 #include "BKE_node.h"
 #include "BKE_scene.h"
+#include "BKE_library.h"
 
 #include "IMB_imbuf_types.h"
 #include "IMB_imbuf.h"
@@ -641,7 +642,7 @@
 					bs->mloop = me->mloop + bs->mpoly->loopstart;
 
 					/* Tag mesh for reevaluation. */
-					DAG_id_tag_update(&me->id, 0);
+					me->id.flag |= LIB_DOIT;
 				}
 				else {
 					Image *ima = NULL;
@@ -1000,6 +1001,11 @@
 		}
 	}
 
+	if (R.r.bake_flag & R_BAKE_VCOL) {
+		/* untag all meshes */
+		tag_main_lb(&G.main->mesh, false);
+	}
+
 	BLI_init_threads(&threads, do_bake_thread, re->r.threads);
 
 	handles = MEM_callocN(sizeof(BakeShade) * re->r.threads, "BakeShade");
@@ -1099,6 +1105,19 @@
 		}
 	}
 
+	if (R.r.bake_flag & R_BAKE_VCOL) {
+		/* update all tagged meshes */
+		Object *ob;
+		for (ob = G.main->object.first; ob; ob = ob->id.next) {
+			if (ob->type == OB_MESH) {
+				Mesh *me = ob->data;
+				if (me->id.flag & LIB_DOIT) {
+					DAG_id_tag_update(&ob->id, OB_RECALC_OB | OB_RECALC_DATA);
+				}
+			}
+		}
+	}
+
 	MEM_freeN(handles);
 	
 	BLI_end_threads(&threads);




More information about the Bf-blender-cvs mailing list