diff options
4 files changed, 16 insertions, 15 deletions
diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c index 5e49f9e641f..5da5649fed6 100644 --- a/release/datafiles/userdef/userdef_default_theme.c +++ b/release/datafiles/userdef/userdef_default_theme.c @@ -316,14 +316,14 @@ const bTheme U_theme_default = { .vertex_select = RGBA(0xff7a00ff), .vertex_bevel = RGBA(0x00a5ffff), .edge = RGBA(0x000000ff), - .edge_select = RGBA(0xff7200ff), + .edge_select = RGBA(0xff7a00ff), .edge_seam = RGBA(0xdb2512ff), .edge_sharp = RGBA(0x00ffffff), .edge_facesel = RGBA(0x4b4b4bff), .edge_crease = RGBA(0xcc0099ff), .edge_bevel = RGBA(0x00a5ffff), - .face = RGBA(0x00000012), - .face_select = RGBA(0xff990056), + .face = RGBA(0xffffff21), + .face_select = RGBA(0xffc8526c), .face_dot = RGBA(0xff8a00ff), .extra_edge_len = RGBA(0x150806ff), .extra_edge_angle = RGBA(0x4d4d00ff), diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c index 61434fce2ae..fdeb2997b05 100644 --- a/source/blender/blenloader/intern/versioning_defaults.c +++ b/source/blender/blenloader/intern/versioning_defaults.c @@ -191,6 +191,8 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template) v3d->overlay.texture_paint_mode_opacity = 1.0f; v3d->overlay.weight_paint_mode_opacity = 1.0f; v3d->overlay.vertex_paint_mode_opacity = 1.0f; + /* Use dimmed selected edges. */ + v3d->overlay.edit_flag &= ~V3D_OVERLAY_EDIT_EDGES; /* grease pencil settings */ v3d->vertex_opacity = 1.0f; v3d->gp_flag |= V3D_GP_SHOW_EDIT_LINES; diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c index 2b17dd43ee5..b02625db3b6 100644 --- a/source/blender/draw/modes/edit_mesh_mode.c +++ b/source/blender/draw/modes/edit_mesh_mode.c @@ -373,9 +373,8 @@ static DRWPass *edit_mesh_create_overlay_pass(float *face_alpha, DRW_shgroup_uniform_vec2(grp, "viewportSize", DRW_viewport_size_get(), 1); DRW_shgroup_uniform_vec2(grp, "viewportSizeInv", DRW_viewport_invert_size_get(), 1); DRW_shgroup_uniform_ivec4(grp, "dataMask", data_mask, 1); - DRW_shgroup_uniform_bool_copy(grp, "doEdges", do_edges); DRW_shgroup_uniform_float_copy(grp, "ofs", depth_ofs); - DRW_shgroup_uniform_bool_copy(grp, "selectEdges", select_edge); + DRW_shgroup_uniform_bool_copy(grp, "selectEdges", do_edges || select_edge); DRW_shgroup_state_enable(grp, DRW_STATE_OFFSET_NEGATIVE); /* To match blender loop structure. */ @@ -455,7 +454,6 @@ static void EDIT_MESH_cache_init(void *vedata) } if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_EDGES) == 0) { if ((tsettings->selectmode & SCE_SELECT_EDGE) == 0) { - stl->g_data->data_mask[1] &= ~(VFLAG_EDGE_ACTIVE & VFLAG_EDGE_SELECTED); stl->g_data->do_edges = false; } } diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_common_lib.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_common_lib.glsl index 7d4cba66933..6aa20a9d21b 100644 --- a/source/blender/draw/modes/shaders/edit_mesh_overlay_common_lib.glsl +++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_common_lib.glsl @@ -1,5 +1,4 @@ -uniform bool doEdges = true; uniform bool selectFaces = true; uniform bool selectEdges = true; @@ -17,21 +16,23 @@ vec4 EDIT_MESH_edge_color_outer(int edge_flag, int face_flag, float crease, floa vec4 EDIT_MESH_edge_color_inner(int edge_flag) { vec4 color = colorWireEdit; - vec4 color_select = (selectEdges) ? colorEdgeSelect : colorFaceSelect; - color = (doEdges && ((edge_flag & EDGE_SELECTED) != 0)) ? color_select : color; - color = (doEdges && ((edge_flag & EDGE_ACTIVE) != 0)) ? colorEditMeshActive : color; + vec4 color_select = (selectEdges) ? colorEdgeSelect : mix(colorEdgeSelect, colorWireEdit, .45); + color = ((edge_flag & EDGE_SELECTED) != 0) ? color_select : color; + color = ((edge_flag & EDGE_ACTIVE) != 0) ? colorEditMeshActive : color; - float non_edge_select_alpha = (selectFaces && (edge_flag & EDGE_SELECTED) != 0) ? 0.75 : 0.4; - color.a = (selectEdges) ? 1.0 : non_edge_select_alpha; + color.a = (selectEdges || (edge_flag & (EDGE_SELECTED | EDGE_ACTIVE)) != 0) ? 1.0 : 0.4; return color; } vec4 EDIT_MESH_edge_vertex_color(int vertex_flag) { vec4 color = colorWireEdit; - vec4 color_select = (selectEdges) ? colorEdgeSelect : colorFaceSelect; - color = (doEdges && (vertex_flag & (VERT_ACTIVE | VERT_SELECTED)) != 0) ? color_select : color; - color.a = (selectEdges) ? 1.0 : 0.4; + vec4 color_select = (selectEdges) ? colorEdgeSelect : mix(colorEdgeSelect, colorWireEdit, .45); + + bool edge_selected = (vertex_flag & (VERT_ACTIVE | VERT_SELECTED)) != 0; + color = (edge_selected) ? color_select : color; + + color.a = (selectEdges || edge_selected) ? 1.0 : 0.4; return color; } |