From a671aa922a1591128f0a1478c29af39ff6eca61f Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Thu, 14 Jun 2018 12:12:06 +0200 Subject: Workbench: Material colors + settings during sculpting --- source/blender/draw/engines/workbench/workbench_forward.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'source/blender/draw/engines/workbench/workbench_forward.c') diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c index 1a387c8087c..58bd6a65866 100644 --- a/source/blender/draw/engines/workbench/workbench_forward.c +++ b/source/blender/draw/engines/workbench/workbench_forward.c @@ -499,7 +499,7 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob) /* Fallback from not drawn OB_TEXTURE mode or just OB_SOLID mode */ if (!is_drawn) { - if ((wpd->shading.color_type != V3D_SHADING_MATERIAL_COLOR) || is_sculpt_mode) { + if ((wpd->shading.color_type != V3D_SHADING_MATERIAL_COLOR)) { /* No material split needed */ struct Gwn_Batch *geom = DRW_cache_object_surface_get(ob); if (geom) { @@ -530,8 +530,15 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob) Material *mat = give_current_material(ob, i + 1); material = get_or_create_material_data(vedata, ob, mat, NULL, OB_SOLID); - DRW_shgroup_call_object_add(material->shgrp_object_outline, mat_geom[i], ob); - DRW_shgroup_call_object_add(material->shgrp, mat_geom[i], ob); + if (is_sculpt_mode) + { + DRW_shgroup_call_sculpt_add(material->shgrp_object_outline, ob, ob->obmat); + DRW_shgroup_call_sculpt_add(material->shgrp, ob, ob->obmat); + } + else { + DRW_shgroup_call_object_add(material->shgrp_object_outline, mat_geom[i], ob); + DRW_shgroup_call_object_add(material->shgrp, mat_geom[i], ob); + } } } } -- cgit v1.2.3