Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/modes/shaders/edit_mesh_overlay_common_lib.glsl
| uniform bool doEdges = true; | |||||
| uniform bool selectFaces = true; | uniform bool selectFaces = true; | ||||
| uniform bool selectEdges = true; | uniform bool selectEdges = true; | ||||
| vec4 EDIT_MESH_edge_color_outer(int edge_flag, int face_flag, float crease, float bweight) | vec4 EDIT_MESH_edge_color_outer(int edge_flag, int face_flag, float crease, float bweight) | ||||
| { | { | ||||
| vec4 color = vec4(0.0); | vec4 color = vec4(0.0); | ||||
| color = ((edge_flag & EDGE_FREESTYLE) != 0) ? colorEdgeFreestyle : color; | color = ((edge_flag & EDGE_FREESTYLE) != 0) ? colorEdgeFreestyle : color; | ||||
| color = ((edge_flag & EDGE_SHARP) != 0) ? colorEdgeSharp : color; | color = ((edge_flag & EDGE_SHARP) != 0) ? colorEdgeSharp : color; | ||||
| color = (crease > 0.0) ? vec4(colorEdgeCrease.rgb, crease) : color; | color = (crease > 0.0) ? vec4(colorEdgeCrease.rgb, crease) : color; | ||||
| color = (bweight > 0.0) ? vec4(colorEdgeBWeight.rgb, bweight) : color; | color = (bweight > 0.0) ? vec4(colorEdgeBWeight.rgb, bweight) : color; | ||||
| color = ((edge_flag & EDGE_SEAM) != 0) ? colorEdgeSeam : color; | color = ((edge_flag & EDGE_SEAM) != 0) ? colorEdgeSeam : color; | ||||
| return color; | return color; | ||||
| } | } | ||||
| vec4 EDIT_MESH_edge_color_inner(int edge_flag) | vec4 EDIT_MESH_edge_color_inner(int edge_flag) | ||||
| { | { | ||||
| vec4 color = colorWireEdit; | vec4 color = colorWireEdit; | ||||
| vec4 color_select = (selectEdges) ? colorEdgeSelect : colorFaceSelect; | vec4 color_select = (selectEdges) ? colorEdgeSelect : mix(colorEdgeSelect, colorWireEdit, .45); | ||||
| color = (doEdges && ((edge_flag & EDGE_SELECTED) != 0)) ? color_select : color; | color = ((edge_flag & EDGE_SELECTED) != 0) ? color_select : color; | ||||
| color = (doEdges && ((edge_flag & EDGE_ACTIVE) != 0)) ? colorEditMeshActive : 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 || (edge_flag & (EDGE_SELECTED | EDGE_ACTIVE)) != 0) ? 1.0 : 0.4; | ||||
| color.a = (selectEdges) ? 1.0 : non_edge_select_alpha; | |||||
| return color; | return color; | ||||
| } | } | ||||
| vec4 EDIT_MESH_edge_vertex_color(int vertex_flag) | vec4 EDIT_MESH_edge_vertex_color(int vertex_flag) | ||||
| { | { | ||||
| vec4 color = colorWireEdit; | vec4 color = colorWireEdit; | ||||
| vec4 color_select = (selectEdges) ? colorEdgeSelect : colorFaceSelect; | vec4 color_select = (selectEdges) ? colorEdgeSelect : mix(colorEdgeSelect, colorWireEdit, .45); | ||||
| color = (doEdges && (vertex_flag & (VERT_ACTIVE | VERT_SELECTED)) != 0) ? color_select : color; | |||||
| color.a = (selectEdges) ? 1.0 : 0.4; | 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; | return color; | ||||
| } | } | ||||
| vec4 EDIT_MESH_vertex_color(int vertex_flag) | vec4 EDIT_MESH_vertex_color(int vertex_flag) | ||||
| { | { | ||||
| if ((vertex_flag & VERT_ACTIVE) != 0) { | if ((vertex_flag & VERT_ACTIVE) != 0) { | ||||
| return vec4(colorEditMeshActive.xyz, 1.0); | return vec4(colorEditMeshActive.xyz, 1.0); | ||||
| } | } | ||||
| Show All 33 Lines | |||||