Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/datafiles/userdef/userdef_default_theme.c6
-rw-r--r--source/blender/blenloader/intern/versioning_defaults.c2
-rw-r--r--source/blender/draw/modes/edit_mesh_mode.c4
-rw-r--r--source/blender/draw/modes/shaders/edit_mesh_overlay_common_lib.glsl19
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;
}