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:
authorJeroen Bakker <j.bakker@atmind.nl>2018-06-13 09:17:14 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2018-06-13 13:38:53 +0300
commit23c24cead582f8d766e87ba9adc0f612b16bceea (patch)
tree482d66e6a25fc9e7a4057fc6f3f55548844eb96f /source/blender/draw/modes/shaders
parentc0926d536fb0495930799006d009819a58707c3e (diff)
T55456: EditMode Drawing
- Hide facedots, except when in V3D_ZBUF_SELECT mode `use_occluded_geometry` - Different theme (wire_inactive) when not in edge selection mode
Diffstat (limited to 'source/blender/draw/modes/shaders')
-rw-r--r--source/blender/draw/modes/shaders/common_globals_lib.glsl1
-rw-r--r--source/blender/draw/modes/shaders/edit_mesh_overlay_facedot_frag.glsl2
-rw-r--r--source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl6
-rw-r--r--source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl4
-rw-r--r--source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl4
5 files changed, 14 insertions, 3 deletions
diff --git a/source/blender/draw/modes/shaders/common_globals_lib.glsl b/source/blender/draw/modes/shaders/common_globals_lib.glsl
index c55457bb6d2..f8a8f3b9203 100644
--- a/source/blender/draw/modes/shaders/common_globals_lib.glsl
+++ b/source/blender/draw/modes/shaders/common_globals_lib.glsl
@@ -2,6 +2,7 @@
/* keep in sync with GlobalsUboStorage */
layout(std140) uniform globalsBlock {
vec4 colorWire;
+ vec4 colorWireInactive;
vec4 colorWireEdit;
vec4 colorActive;
vec4 colorSelect;
diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_facedot_frag.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_facedot_frag.glsl
index 07b36079884..71cc1ccde8d 100644
--- a/source/blender/draw/modes/shaders/edit_mesh_overlay_facedot_frag.glsl
+++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_facedot_frag.glsl
@@ -11,7 +11,7 @@ void main()
if (isSelected != 0)
FragColor = colorFaceDot;
else
- FragColor = colorWireEdit;
+ FragColor = colorVertex;
#ifdef VERTEX_FACING
FragColor.a *= 1.0 - abs(facing) * 0.4;
diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl
index cf1051b70b3..4bf5f348c27 100644
--- a/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl
+++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_frag.glsl
@@ -10,7 +10,6 @@
* TODO Refine the range to only affect GPUs. */
uniform float faceAlphaMod;
-
flat in vec3 edgesCrease;
flat in vec3 edgesBweight;
flat in vec4 faceColor;
@@ -181,10 +180,13 @@ void main()
#ifdef VERTEX_SELECTION
colorDistEdge(vec4(vertexColor, 1.0), innerEdge);
#else
+# ifdef EDGE_SELECTION
vec4 inner_edge_color = colorWireEdit;
inner_edge_color = ((flag[v] & EDGE_SELECTED) != 0) ? colorEdgeSelect : inner_edge_color;
inner_edge_color = ((flag[v] & EDGE_ACTIVE) != 0) ? vec4(colorEditMeshActive.xyz, 1.0) : inner_edge_color;
-
+# else
+ vec4 inner_edge_color = colorWireInactive;
+# endif
colorDistEdge(inner_edge_color, innerEdge);
#endif
}
diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl
index 77bc8a25695..6702722e61f 100644
--- a/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl
+++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_edge.glsl
@@ -76,7 +76,11 @@ vec3 getVertexColor(int v)
if ((vData[v].x & (VERTEX_ACTIVE | VERTEX_SELECTED)) != 0)
return colorEdgeSelect.rgb;
else
+#ifdef EDGE_SELECTION
return colorWireEdit.rgb;
+#else
+ return colorWireInactive.rgb;
+#endif
}
void doVertex(int v, vec4 pos)
diff --git a/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl b/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl
index d9c902697b6..a22cc56c74f 100644
--- a/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl
+++ b/source/blender/draw/modes/shaders/edit_mesh_overlay_geom_tri.glsl
@@ -95,7 +95,11 @@ vec3 getVertexColor(int v)
if ((vData[v].x & (VERTEX_ACTIVE | VERTEX_SELECTED)) != 0)
return colorEdgeSelect.rgb;
else
+#ifdef EDGE_SELECTION
return colorWireEdit.rgb;
+#else
+ return colorWireInactive.rgb;
+#endif
}
vec4 getClipData(vec2 pos[3], ivec2 vidx)