Fix T47652: Texture shading mode fails to update material colors
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user