[Bf-blender-cvs] [e70286b] compositor-2016: Fix T47652: Texture shading mode fails to update material colors
Campbell Barton
noreply at git.blender.org
Wed Jun 8 21:46:44 CEST 2016
Commit: e70286bbc8e72cd4278c88e6f4cd911fde7cd60f
Author: Campbell Barton
Date: Fri May 13 22:03:18 2016 +1000
Branches: compositor-2016
https://developer.blender.org/rBe70286bbc8e72cd4278c88e6f4cd911fde7cd60f
Fix T47652: Texture shading mode fails to update material colors
===================================================================
M source/blender/editors/space_view3d/drawmesh.c
===================================================================
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c
index 345e479..a73a055 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -713,6 +713,8 @@ static void update_tface_color_layer(DerivedMesh *dm, bool use_mcol)
}
}
}
+
+ dm->dirty |= DM_DIRTY_MCOL_UPDATE_DRAW;
}
static DMDrawOption draw_tface_mapped__set_draw(void *userData, int origindex, int UNUSED(mat_nr))
@@ -999,7 +1001,16 @@ static void draw_mesh_textured_old(Scene *scene, View3D *v3d, RegionView3D *rv3d
else {
userData.me = NULL;
- update_tface_color_layer(dm, !(ob->mode & OB_MODE_TEXTURE_PAINT));
+ if ((ob->mode & OB_MODE_ALL_PAINT) == 0) {
+
+ /* Note: this isn't efficient and runs on every redraw,
+ * its needed so material colors are used for vertex colors.
+ * In the future we will likely remove 'texface' so, just avoid running this where possible,
+ * (when vertex paint or weight paint are used). */
+
+ update_tface_color_layer(dm, !(ob->mode & OB_MODE_TEXTURE_PAINT));
+ }
+
dm->drawFacesTex(
dm, draw_tface__set_draw, compareDrawOptions,
&userData, dm_draw_flag);
More information about the Bf-blender-cvs
mailing list