UI: improve mesh edge highlighting
Changes to edit mode mesh overlays, use hue shift instead of color fading/darkening for selection mode visual differentiation, and some theme changes to improve the display of mesh edges and faces with good selection visibility. - Removed "edge" toggle from edit mode overlays panel. - No longer halves the edge and face alpha depending on selection mode. Half the face alpha in wire-frame mode. For better visibility on most themes. Ref !111431
This commit is contained in:
parent
b54a26ede4
commit
dfd1b63cc7
|
@ -317,14 +317,16 @@ const bTheme U_theme_default = {
|
|||
.vertex_select = RGBA(0xff7a00ff),
|
||||
.vertex_bevel = RGBA(0x00a5ffff),
|
||||
.edge = RGBA(0x000000ff),
|
||||
.edge_select = RGBA(0xffa000ff),
|
||||
.edge_select = RGBA(0xff9900ff),
|
||||
.edge_mode_select = RGBA(0xffd800ff),
|
||||
.edge_seam = RGBA(0xdb2512ff),
|
||||
.edge_sharp = RGBA(0x00ffffff),
|
||||
.edge_facesel = RGBA(0x4b4b4bff),
|
||||
.edge_crease = RGBA(0xcc0099ff),
|
||||
.edge_bevel = RGBA(0x00a5ffff),
|
||||
.face = RGBA(0xffffff02),
|
||||
.face_select = RGBA(0xffa5522e),
|
||||
.face_select = RGBA(0xffa30033),
|
||||
.face_mode_select = RGBA(0xffb70033),
|
||||
.face_retopology = RGBA(0x50c8ff0f),
|
||||
.face_back = RGBA(0xff0000b3),
|
||||
.face_front = RGBA(0x0000ffb3),
|
||||
|
|
|
@ -368,12 +368,13 @@
|
|||
light="#00000028"
|
||||
speaker="#000000"
|
||||
vertex="#000000"
|
||||
vertex_select="#ff8500"
|
||||
vertex_select="#ff7a00"
|
||||
vertex_active="#000000"
|
||||
vertex_size="3"
|
||||
vertex_bevel="#00a5ff"
|
||||
vertex_unreferenced="#000000"
|
||||
edge_select="#ffa000"
|
||||
edge_select="#ff9900"
|
||||
edge_mode_select="#ffd800"
|
||||
edge_seam="#db2512"
|
||||
edge_sharp="#00ffff"
|
||||
edge_crease="#cc0099"
|
||||
|
@ -381,7 +382,8 @@
|
|||
edge_facesel="#4b4b4b"
|
||||
freestyle_edge_mark="#7fff7f"
|
||||
face="#00000012"
|
||||
face_select="#ff85004d"
|
||||
face_select="#ffa30033"
|
||||
face_mode_select="#ffb70033"
|
||||
face_dot="#ff8500"
|
||||
facedot_size="4"
|
||||
freestyle_face_mark="#7fff7f33"
|
||||
|
|
|
@ -7055,9 +7055,6 @@ class VIEW3D_PT_overlay_edit_mesh(Panel):
|
|||
|
||||
split = col.split()
|
||||
|
||||
sub = split.column()
|
||||
sub.active = is_any_solid_shading
|
||||
sub.prop(overlay, "show_edges", text="Edges")
|
||||
sub = split.column()
|
||||
sub.prop(overlay, "show_faces", text="Faces")
|
||||
sub = split.column()
|
||||
|
|
|
@ -29,7 +29,7 @@ extern "C" {
|
|||
|
||||
/* Blender file format version. */
|
||||
#define BLENDER_FILE_VERSION BLENDER_VERSION
|
||||
#define BLENDER_FILE_SUBVERSION 3
|
||||
#define BLENDER_FILE_SUBVERSION 4
|
||||
|
||||
/* Minimum Blender version that supports reading file written with the current
|
||||
* version. Older Blender versions will test this and cancel loading the file, showing a warning to
|
||||
|
|
|
@ -4148,8 +4148,8 @@ void blo_do_versions_280(FileData *fd, Library * /*lib*/, Main *bmain)
|
|||
View3D *v3d = (View3D *)sl;
|
||||
v3d->overlay.edit_flag |= V3D_OVERLAY_EDIT_FACES | V3D_OVERLAY_EDIT_SEAMS |
|
||||
V3D_OVERLAY_EDIT_SHARP | V3D_OVERLAY_EDIT_FREESTYLE_EDGE |
|
||||
V3D_OVERLAY_EDIT_FREESTYLE_FACE | V3D_OVERLAY_EDIT_EDGES |
|
||||
V3D_OVERLAY_EDIT_CREASES | V3D_OVERLAY_EDIT_BWEIGHTS;
|
||||
V3D_OVERLAY_EDIT_FREESTYLE_FACE | V3D_OVERLAY_EDIT_CREASES |
|
||||
V3D_OVERLAY_EDIT_BWEIGHTS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -188,8 +188,8 @@ static void blo_update_defaults_screen(bScreen *screen,
|
|||
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;
|
||||
/* Clear this deprecated bit for later reuse. */
|
||||
v3d->overlay.edit_flag &= ~V3D_OVERLAY_EDIT_EDGES_DEPRECATED;
|
||||
/* grease pencil settings */
|
||||
v3d->vertex_opacity = 1.0f;
|
||||
v3d->gp_flag |= V3D_GP_SHOW_EDIT_LINES;
|
||||
|
|
|
@ -133,6 +133,13 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
|
|||
memcpy(btheme, &U_theme_default, sizeof(*btheme));
|
||||
}
|
||||
|
||||
if (!USER_VERSION_ATLEAST(401, 4)) {
|
||||
FROM_DEFAULT_V4_UCHAR(space_view3d.edge_select);
|
||||
FROM_DEFAULT_V4_UCHAR(space_view3d.edge_mode_select);
|
||||
FROM_DEFAULT_V4_UCHAR(space_view3d.face_select);
|
||||
FROM_DEFAULT_V4_UCHAR(space_view3d.face_mode_select);
|
||||
}
|
||||
|
||||
/**
|
||||
* Versioning code until next subversion bump goes here.
|
||||
*
|
||||
|
|
|
@ -53,6 +53,7 @@ void OVERLAY_edit_mesh_cache_init(OVERLAY_Data *vedata)
|
|||
DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
|
||||
|
||||
const DRWContextState *draw_ctx = DRW_context_state_get();
|
||||
const View3DShading *shading = &draw_ctx->v3d->shading;
|
||||
ToolSettings *tsettings = draw_ctx->scene->toolsettings;
|
||||
View3D *v3d = draw_ctx->v3d;
|
||||
bool select_vert = pd->edit_mesh.select_vert = (tsettings->selectmode & SCE_SELECT_VERTEX) != 0;
|
||||
|
@ -66,7 +67,6 @@ void OVERLAY_edit_mesh_cache_init(OVERLAY_Data *vedata)
|
|||
float retopology_offset = RETOPOLOGY_OFFSET(v3d);
|
||||
|
||||
pd->edit_mesh.do_faces = true;
|
||||
pd->edit_mesh.do_edges = true;
|
||||
|
||||
int *mask = shdata->data_mask;
|
||||
mask[0] = 0xFF; /* Face Flag */
|
||||
|
@ -85,16 +85,8 @@ void OVERLAY_edit_mesh_cache_init(OVERLAY_Data *vedata)
|
|||
if ((flag & V3D_OVERLAY_EDIT_FACES) == 0) {
|
||||
pd->edit_mesh.do_faces = false;
|
||||
}
|
||||
if ((flag & V3D_OVERLAY_EDIT_EDGES) == 0) {
|
||||
if ((tsettings->selectmode & SCE_SELECT_EDGE) == 0) {
|
||||
if ((v3d->shading.type < OB_SOLID) || (v3d->shading.flag & V3D_SHADING_XRAY)) {
|
||||
/* Special case, when drawing wire, draw edges, see: #67637. */
|
||||
}
|
||||
else {
|
||||
pd->edit_mesh.do_edges = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const bool is_wire_shmode = (shading->type == OB_WIRE);
|
||||
|
||||
float backwire_opacity = (pd->edit_mesh.do_zbufclip) ? v3d->overlay.backwire_opacity : 1.0f;
|
||||
float face_alpha = (!pd->edit_mesh.do_faces) ? 0.0f : 1.0f;
|
||||
|
@ -172,7 +164,8 @@ void OVERLAY_edit_mesh_cache_init(OVERLAY_Data *vedata)
|
|||
DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
|
||||
DRW_shgroup_uniform_ivec4(grp, "dataMask", mask, 1);
|
||||
DRW_shgroup_uniform_float_copy(grp, "alpha", face_alpha);
|
||||
DRW_shgroup_uniform_bool_copy(grp, "selectFaces", select_face);
|
||||
DRW_shgroup_uniform_bool_copy(grp, "selectFace", select_face);
|
||||
DRW_shgroup_uniform_bool_copy(grp, "wireShading", is_wire_shmode);
|
||||
DRW_shgroup_uniform_float_copy(grp, "retopologyOffset", retopology_offset);
|
||||
}
|
||||
|
||||
|
@ -191,7 +184,7 @@ void OVERLAY_edit_mesh_cache_init(OVERLAY_Data *vedata)
|
|||
DRW_shgroup_uniform_ivec4(grp, "dataMask", mask, 1);
|
||||
DRW_shgroup_uniform_float_copy(grp, "alpha", backwire_opacity);
|
||||
DRW_shgroup_uniform_texture_ref(grp, "depthTex", depth_tex);
|
||||
DRW_shgroup_uniform_bool_copy(grp, "selectEdges", pd->edit_mesh.do_edges || select_edge);
|
||||
DRW_shgroup_uniform_bool_copy(grp, "selectEdge", select_edge);
|
||||
DRW_shgroup_uniform_bool_copy(grp, "do_smooth_wire", do_smooth_wire);
|
||||
DRW_shgroup_uniform_float_copy(grp, "retopologyOffset", retopology_offset);
|
||||
|
||||
|
|
|
@ -367,7 +367,6 @@ struct OVERLAY_PrivateData {
|
|||
struct {
|
||||
bool do_zbufclip;
|
||||
bool do_faces;
|
||||
bool do_edges;
|
||||
bool select_vert;
|
||||
bool select_face;
|
||||
bool select_edge;
|
||||
|
|
|
@ -108,7 +108,10 @@ struct ThemeColorData {
|
|||
float4 color_vertex_unreferenced;
|
||||
float4 color_vertex_missing_data;
|
||||
float4 color_edit_mesh_active;
|
||||
/** For edge selection, not edge select mode. */
|
||||
float4 color_edge_select;
|
||||
/** For edge mode selection. */
|
||||
float4 color_edge_mode_select;
|
||||
float4 color_edge_seam;
|
||||
float4 color_edge_sharp;
|
||||
float4 color_edge_crease;
|
||||
|
@ -116,7 +119,10 @@ struct ThemeColorData {
|
|||
float4 color_edge_face_select;
|
||||
float4 color_edge_freestyle;
|
||||
float4 color_face;
|
||||
/** For face selection, not face select mode. */
|
||||
float4 color_face_select;
|
||||
/** For face mode selection. */
|
||||
float4 color_face_mode_select;
|
||||
float4 color_face_freestyle;
|
||||
float4 color_gpencil_vertex;
|
||||
float4 color_gpencil_vertex_select;
|
||||
|
|
|
@ -17,8 +17,9 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_common)
|
|||
.define("blender_srgb_to_framebuffer_space(a)", "a")
|
||||
.sampler(0, ImageType::DEPTH_2D, "depthTex")
|
||||
.fragment_out(0, Type::VEC4, "fragColor")
|
||||
.push_constant(Type::BOOL, "selectFaces")
|
||||
.push_constant(Type::BOOL, "selectEdges")
|
||||
.push_constant(Type::BOOL, "wireShading")
|
||||
.push_constant(Type::BOOL, "selectFace")
|
||||
.push_constant(Type::BOOL, "selectEdge")
|
||||
.push_constant(Type::FLOAT, "alpha")
|
||||
.push_constant(Type::FLOAT, "retopologyOffset")
|
||||
.push_constant(Type::IVEC4, "dataMask")
|
||||
|
@ -31,8 +32,9 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_common_no_geom)
|
|||
.define("blender_srgb_to_framebuffer_space(a)", "a")
|
||||
.sampler(0, ImageType::DEPTH_2D, "depthTex")
|
||||
.fragment_out(0, Type::VEC4, "fragColor")
|
||||
.push_constant(Type::BOOL, "selectFaces")
|
||||
.push_constant(Type::BOOL, "selectEdges")
|
||||
.push_constant(Type::BOOL, "wireShading")
|
||||
.push_constant(Type::BOOL, "selectFace")
|
||||
.push_constant(Type::BOOL, "selectEdge")
|
||||
.push_constant(Type::FLOAT, "alpha")
|
||||
.push_constant(Type::FLOAT, "retopologyOffset")
|
||||
.push_constant(Type::IVEC4, "dataMask")
|
||||
|
|
|
@ -16,23 +16,20 @@ vec4 EDIT_MESH_edge_color_outer(uint edge_flag, uint face_flag, float crease, fl
|
|||
vec4 EDIT_MESH_edge_color_inner(uint edge_flag)
|
||||
{
|
||||
vec4 color = colorWireEdit;
|
||||
vec4 color_select = (selectEdges) ? colorEdgeSelect : mix(colorEdgeSelect, colorWireEdit, .45);
|
||||
color = ((edge_flag & EDGE_SELECTED) != 0u) ? color_select : color;
|
||||
vec4 selected_edge_col = (selectEdge) ? colorEdgeModeSelect : colorEdgeSelect;
|
||||
color = ((edge_flag & EDGE_SELECTED) != 0u) ? selected_edge_col : color;
|
||||
color = ((edge_flag & EDGE_ACTIVE) != 0u) ? colorEditMeshActive : color;
|
||||
|
||||
color.a = (selectEdges || (edge_flag & (EDGE_SELECTED | EDGE_ACTIVE)) != 0u) ? 1.0 : 0.7;
|
||||
color.a = 1.0;
|
||||
return color;
|
||||
}
|
||||
|
||||
vec4 EDIT_MESH_edge_vertex_color(uint vertex_flag)
|
||||
{
|
||||
vec4 color = colorWireEdit;
|
||||
vec4 color_select = (selectEdges) ? colorEdgeSelect : mix(colorEdgeSelect, colorWireEdit, .45);
|
||||
|
||||
/* Edge color in vextex selection mode. */
|
||||
vec4 selected_edge_col = (selectEdge) ? colorEdgeModeSelect : colorEdgeSelect;
|
||||
bool edge_selected = (vertex_flag & (VERT_ACTIVE | VERT_SELECTED)) != 0u;
|
||||
color = (edge_selected) ? color_select : color;
|
||||
|
||||
color.a = (selectEdges || edge_selected) ? 1.0 : 0.7;
|
||||
vec4 color = (edge_selected) ? selected_edge_col : colorWireEdit;
|
||||
color.a = 1.0;
|
||||
return color;
|
||||
}
|
||||
|
||||
|
@ -55,15 +52,26 @@ vec4 EDIT_MESH_vertex_color(uint vertex_flag, float vertex_crease)
|
|||
|
||||
vec4 EDIT_MESH_face_color(uint face_flag)
|
||||
{
|
||||
bool face_freestyle = (face_flag & FACE_FREESTYLE) != 0u;
|
||||
bool face_selected = (face_flag & FACE_SELECTED) != 0u;
|
||||
bool face_active = (face_flag & FACE_ACTIVE) != 0u;
|
||||
vec4 selected_face_col = (selectFace) ? colorFaceModeSelect : colorFaceSelect;
|
||||
vec4 color = colorFace;
|
||||
vec4 color_active = mix(colorFaceSelect, colorEditMeshActive, 0.5);
|
||||
color = (retopologyOffset > 0.0) ? colorFaceRetopology : color;
|
||||
color = ((face_flag & FACE_FREESTYLE) != 0u) ? colorFaceFreestyle : color;
|
||||
color = ((face_flag & FACE_SELECTED) != 0u) ? colorFaceSelect : color;
|
||||
color = ((face_flag & FACE_ACTIVE) != 0u) ? color_active : color;
|
||||
color.a *= ((face_flag & (FACE_FREESTYLE | FACE_SELECTED | FACE_ACTIVE)) == 0u || selectFaces) ?
|
||||
1.0 :
|
||||
0.5;
|
||||
color = face_freestyle ? colorFaceFreestyle : color;
|
||||
color = face_selected ? selected_face_col : color;
|
||||
if (selectFace && face_active) {
|
||||
color = mix(selected_face_col, colorEditMeshActive, 0.5);
|
||||
color.a = selected_face_col.a;
|
||||
}
|
||||
if (wireShading) {
|
||||
/* Lower face selection opacity for better wireframe visibility. */
|
||||
color.a = (face_selected) ? color.a * 0.6 : color.a;
|
||||
}
|
||||
else {
|
||||
/* Don't always fill 'colorFace'. */
|
||||
color.a = (selectFace || face_selected || face_active || face_freestyle) ? color.a : 0.0;
|
||||
}
|
||||
return color;
|
||||
}
|
||||
|
||||
|
|
|
@ -61,6 +61,7 @@ void DRW_globals_update()
|
|||
UI_COLOR_RGBA_FROM_U8(0xB0, 0x00, 0xB0, 0xFF, gb->color_vertex_missing_data);
|
||||
UI_GetThemeColor4fv(TH_EDITMESH_ACTIVE, gb->color_edit_mesh_active);
|
||||
UI_GetThemeColor4fv(TH_EDGE_SELECT, gb->color_edge_select);
|
||||
UI_GetThemeColor4fv(TH_EDGE_MODE_SELECT, gb->color_edge_mode_select);
|
||||
UI_GetThemeColor4fv(TH_GP_VERTEX, gb->color_gpencil_vertex);
|
||||
UI_GetThemeColor4fv(TH_GP_VERTEX_SELECT, gb->color_gpencil_vertex_select);
|
||||
|
||||
|
@ -71,6 +72,7 @@ void DRW_globals_update()
|
|||
UI_GetThemeColor4fv(TH_EDGE_FACESEL, gb->color_edge_face_select);
|
||||
UI_GetThemeColor4fv(TH_FACE, gb->color_face);
|
||||
UI_GetThemeColor4fv(TH_FACE_SELECT, gb->color_face_select);
|
||||
UI_GetThemeColor4fv(TH_FACE_MODE_SELECT, gb->color_face_mode_select);
|
||||
UI_GetThemeColor4fv(TH_FACE_RETOPOLOGY, gb->color_face_retopology);
|
||||
UI_GetThemeColor4fv(TH_FACE_BACK, gb->color_face_back);
|
||||
UI_GetThemeColor4fv(TH_FACE_FRONT, gb->color_face_front);
|
||||
|
|
|
@ -40,7 +40,8 @@ struct GlobalsUboStorage {
|
|||
float4 color_vertex_unreferenced;
|
||||
float4 color_vertex_missing_data;
|
||||
float4 color_edit_mesh_active;
|
||||
float4 color_edge_select;
|
||||
float4 color_edge_select; /* Stands for edge selection, not edge select mode. */
|
||||
float4 color_edge_mode_select; /* Stands for edge mode selection. */
|
||||
float4 color_edge_seam;
|
||||
float4 color_edge_sharp;
|
||||
float4 color_edge_crease;
|
||||
|
@ -48,7 +49,8 @@ struct GlobalsUboStorage {
|
|||
float4 color_edge_face_select;
|
||||
float4 color_edge_freestyle;
|
||||
float4 color_face;
|
||||
float4 color_face_select;
|
||||
float4 color_face_select; /* Stands for face selection, not face select mode. */
|
||||
float4 color_face_mode_select; /* Stands for face mode selection. */
|
||||
float4 color_face_retopology;
|
||||
float4 color_face_freestyle;
|
||||
float4 color_gpencil_vertex;
|
||||
|
@ -160,6 +162,7 @@ BLI_STATIC_ASSERT_ALIGN(GlobalsUboStorage, 16)
|
|||
# define colorVertexMissingData globalsBlock.color_vertex_missing_data
|
||||
# define colorEditMeshActive globalsBlock.color_edit_mesh_active
|
||||
# define colorEdgeSelect globalsBlock.color_edge_select
|
||||
# define colorEdgeModeSelect globalsBlock.color_edge_mode_select
|
||||
# define colorEdgeSeam globalsBlock.color_edge_seam
|
||||
# define colorEdgeSharp globalsBlock.color_edge_sharp
|
||||
# define colorEdgeCrease globalsBlock.color_edge_crease
|
||||
|
@ -168,6 +171,7 @@ BLI_STATIC_ASSERT_ALIGN(GlobalsUboStorage, 16)
|
|||
# define colorEdgeFreestyle globalsBlock.color_edge_freestyle
|
||||
# define colorFace globalsBlock.color_face
|
||||
# define colorFaceSelect globalsBlock.color_face_select
|
||||
# define colorFaceModeSelect globalsBlock.color_face_mode_select
|
||||
# define colorFaceRetopology globalsBlock.color_face_retopology
|
||||
# define colorFaceFreestyle globalsBlock.color_face_freestyle
|
||||
# define colorGpencilVertex globalsBlock.color_gpencil_vertex
|
||||
|
|
|
@ -92,11 +92,13 @@ enum ThemeColorID {
|
|||
TH_OUTLINE_WIDTH,
|
||||
TH_OBCENTER_DIA,
|
||||
TH_EDGE,
|
||||
TH_EDGE_SELECT,
|
||||
TH_EDGE_SELECT, /* Stands for edge selection, not edge select mode. */
|
||||
TH_EDGE_MODE_SELECT,
|
||||
TH_EDGE_SEAM,
|
||||
TH_EDGE_FACESEL,
|
||||
TH_FACE,
|
||||
TH_FACE_SELECT,
|
||||
TH_FACE_SELECT, /* Stands for face selection, not face select mode. */
|
||||
TH_FACE_MODE_SELECT,
|
||||
TH_FACE_RETOPOLOGY,
|
||||
TH_FACE_BACK,
|
||||
TH_FACE_FRONT,
|
||||
|
|
|
@ -391,6 +391,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
|
|||
case TH_EDGE_SELECT:
|
||||
cp = ts->edge_select;
|
||||
break;
|
||||
case TH_EDGE_MODE_SELECT:
|
||||
cp = ts->edge_mode_select;
|
||||
break;
|
||||
case TH_EDGE_SEAM:
|
||||
cp = ts->edge_seam;
|
||||
break;
|
||||
|
@ -415,6 +418,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
|
|||
case TH_FACE_SELECT:
|
||||
cp = ts->face_select;
|
||||
break;
|
||||
case TH_FACE_MODE_SELECT:
|
||||
cp = ts->face_mode_select;
|
||||
break;
|
||||
case TH_FACE_RETOPOLOGY:
|
||||
cp = ts->face_retopology;
|
||||
break;
|
||||
|
|
|
@ -287,10 +287,11 @@ typedef struct ThemeSpace {
|
|||
unsigned char active[4], group[4], group_active[4], transform[4];
|
||||
unsigned char vertex[4], vertex_select[4], vertex_active[4], vertex_bevel[4],
|
||||
vertex_unreferenced[4];
|
||||
unsigned char edge[4], edge_select[4];
|
||||
unsigned char edge[4], edge_select[4], edge_mode_select[4];
|
||||
unsigned char edge_seam[4], edge_sharp[4], edge_facesel[4], edge_crease[4], edge_bevel[4];
|
||||
/** Solid faces. */
|
||||
unsigned char face[4], face_select[4], face_retopology[4], face_back[4], face_front[4];
|
||||
unsigned char face[4], face_select[4], face_mode_select[4], face_retopology[4];
|
||||
unsigned char face_back[4], face_front[4];
|
||||
/** Selected color. */
|
||||
unsigned char face_dot[4];
|
||||
unsigned char extra_edge_len[4], extra_edge_angle[4], extra_face_angle[4], extra_face_area[4];
|
||||
|
@ -350,7 +351,6 @@ typedef struct ThemeSpace {
|
|||
|
||||
unsigned char node_zone_simulation[4];
|
||||
unsigned char node_zone_repeat[4];
|
||||
unsigned char _pad9[4];
|
||||
unsigned char simulated_frames[4];
|
||||
|
||||
/** For sequence editor. */
|
||||
|
@ -378,7 +378,7 @@ typedef struct ThemeSpace {
|
|||
unsigned char path_keyframe_before[4], path_keyframe_after[4];
|
||||
unsigned char camera_path[4];
|
||||
unsigned char camera_passepartout[4];
|
||||
unsigned char _pad1[6];
|
||||
unsigned char _pad1[2];
|
||||
|
||||
unsigned char gp_vertex_size;
|
||||
unsigned char gp_vertex[4], gp_vertex_select[4];
|
||||
|
|
|
@ -56,8 +56,8 @@
|
|||
\
|
||||
.edit_flag = V3D_OVERLAY_EDIT_FACES | V3D_OVERLAY_EDIT_SEAMS | \
|
||||
V3D_OVERLAY_EDIT_SHARP | V3D_OVERLAY_EDIT_FREESTYLE_EDGE | \
|
||||
V3D_OVERLAY_EDIT_FREESTYLE_FACE | V3D_OVERLAY_EDIT_EDGES | \
|
||||
V3D_OVERLAY_EDIT_CREASES | V3D_OVERLAY_EDIT_BWEIGHTS, \
|
||||
V3D_OVERLAY_EDIT_FREESTYLE_FACE | V3D_OVERLAY_EDIT_CREASES | \
|
||||
V3D_OVERLAY_EDIT_BWEIGHTS, \
|
||||
.handle_display = CURVE_HANDLE_SELECTED, \
|
||||
\
|
||||
.gpencil_paper_opacity = 0.5f, \
|
||||
|
|
|
@ -587,7 +587,7 @@ enum {
|
|||
|
||||
V3D_OVERLAY_EDIT_WEIGHT = (1 << 4),
|
||||
|
||||
V3D_OVERLAY_EDIT_EDGES = (1 << 5),
|
||||
V3D_OVERLAY_EDIT_EDGES_DEPRECATED = (1 << 5),
|
||||
V3D_OVERLAY_EDIT_FACES = (1 << 6),
|
||||
V3D_OVERLAY_EDIT_FACE_DOT = (1 << 7),
|
||||
|
||||
|
|
|
@ -4610,11 +4610,6 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
|
|||
prop, "Display Split Normals", "Display vertex-per-face normals as lines");
|
||||
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, nullptr);
|
||||
|
||||
prop = RNA_def_property(srna, "show_edges", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, nullptr, "overlay.edit_flag", V3D_OVERLAY_EDIT_EDGES);
|
||||
RNA_def_property_ui_text(prop, "Display Edges", "Highlight selected edges");
|
||||
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, nullptr);
|
||||
|
||||
prop = RNA_def_property(srna, "show_faces", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, nullptr, "overlay.edit_flag", V3D_OVERLAY_EDIT_FACES);
|
||||
RNA_def_property_ui_text(prop, "Display Faces", "Highlight selected faces");
|
||||
|
|
|
@ -2132,7 +2132,12 @@ static void rna_def_userdef_theme_spaces_edge(StructRNA *srna)
|
|||
|
||||
prop = RNA_def_property(srna, "edge_select", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
RNA_def_property_array(prop, 3);
|
||||
RNA_def_property_ui_text(prop, "Edge Select", "");
|
||||
RNA_def_property_ui_text(prop, "Edge Selection", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
|
||||
prop = RNA_def_property(srna, "edge_mode_select", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
RNA_def_property_array(prop, 3);
|
||||
RNA_def_property_ui_text(prop, "Edge Mode Selection", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
|
||||
prop = RNA_def_property(srna, "edge_seam", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
|
@ -2178,7 +2183,12 @@ static void rna_def_userdef_theme_spaces_face(StructRNA *srna)
|
|||
|
||||
prop = RNA_def_property(srna, "face_select", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
RNA_def_property_array(prop, 4);
|
||||
RNA_def_property_ui_text(prop, "Face Selected", "");
|
||||
RNA_def_property_ui_text(prop, "Face Selection", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
|
||||
prop = RNA_def_property(srna, "face_mode_select", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
RNA_def_property_array(prop, 4);
|
||||
RNA_def_property_ui_text(prop, "Face Mode Selection", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
|
||||
prop = RNA_def_property(srna, "face_dot", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
|
|
Loading…
Reference in New Issue