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:
authorCampbell Barton <ideasman42@gmail.com>2014-03-20 04:44:48 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-03-20 04:44:48 +0400
commit50309fcbe8797e6e27474181c06e446b9d1039c9 (patch)
treef05d5ccc481893072be44d1b4776006dce33f0b6 /source/blender/editors/space_view3d/drawmesh.c
parent284a3521203a27054dc80df8aefdedcf28dc3ecb (diff)
Vertex Paint: inverted line drawing, white lines were often hard to see
Diffstat (limited to 'source/blender/editors/space_view3d/drawmesh.c')
-rw-r--r--source/blender/editors/space_view3d/drawmesh.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c
index 5f93aa4fd77..ed475f9f082 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -1081,7 +1081,8 @@ void draw_mesh_paint_vcolor_faces(DerivedMesh *dm, const bool use_light,
}
}
-void draw_mesh_paint_weight_edges(RegionView3D *rv3d, DerivedMesh *dm, const bool use_depth,
+void draw_mesh_paint_weight_edges(RegionView3D *rv3d, DerivedMesh *dm,
+ const bool use_depth, const bool use_alpha,
void *edgemask_cb, void *user_data)
{
/* weight paint in solid mode, special case. focus on making the weights clear
@@ -1095,7 +1096,10 @@ void draw_mesh_paint_weight_edges(RegionView3D *rv3d, DerivedMesh *dm, const boo
glDisable(GL_DEPTH_TEST);
}
- glEnable(GL_BLEND);
+ if (use_alpha) {
+ glEnable(GL_BLEND);
+ }
+
glColor4ub(255, 255, 255, 96);
glEnable(GL_LINE_STIPPLE);
glLineStipple(1, 0xAAAA);
@@ -1111,7 +1115,10 @@ void draw_mesh_paint_weight_edges(RegionView3D *rv3d, DerivedMesh *dm, const boo
}
glDisable(GL_LINE_STIPPLE);
- glDisable(GL_BLEND);
+
+ if (use_alpha) {
+ glDisable(GL_BLEND);
+ }
}
void draw_mesh_paint(View3D *v3d, RegionView3D *rv3d,
@@ -1138,7 +1145,17 @@ void draw_mesh_paint(View3D *v3d, RegionView3D *rv3d,
}
else if ((use_light == false) || (ob->dtx & OB_DRAWWIRE)) {
const bool use_depth = (v3d->flag & V3D_ZBUF_SELECT) || !(ob->mode & OB_MODE_WEIGHT_PAINT);
- draw_mesh_paint_weight_edges(rv3d, dm, use_depth, NULL, NULL);
+ const bool use_alpha = (ob->mode & OB_MODE_VERTEX_PAINT) == 0;
+
+ if (use_alpha == false) {
+ set_inverted_drawing(1);
+ }
+
+ draw_mesh_paint_weight_edges(rv3d, dm, use_depth, use_alpha, NULL, NULL);
+
+ if (use_alpha == false) {
+ set_inverted_drawing(0);
+ }
}
}