diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-01-11 21:10:13 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-01-11 21:10:13 +0300 |
commit | 491e365514654e14df3afe7e070f6574bf0e8d6e (patch) | |
tree | abc033ecef831e779078984e629c65fe4a51bb8b /source/blender/editors | |
parent | 9df5bfe404b9c827ebf2e36453e000d72bafc9d4 (diff) |
- draw mesh wire faded into the 3D view background color when in particle mode, the mesh and particle selection colors conflict too much making it hard to see particles.
- show proportional editmode button in particle editmode.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_view3d/drawobject.c | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 77d8ed0f24d..3fca79cd2f0 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -2489,15 +2489,28 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D } } if (draw_wire) { - /* If drawing wire and drawtype is not OB_WIRE then we are - * overlaying the wires. - * - * UPDATE bug #10290 - With this wire-only objects can draw - * behind other objects depending on their order in the scene. 2x if 0's below. undo'ing zr's commit: r4059 - * - * if draw wire is 1 then just drawing wire, no need for depth buffer stuff, - * otherwise this wire is to overlay solid mode faces so do some depth buffer tricks. - */ + + /* When using wireframe object traw in particle edit mode + * the mesh gets in the way of seeing the particles, fade the wire color + * with the background. */ + if(ob==OBACT && (ob->mode & OB_MODE_PARTICLE_EDIT)) { + float col_wire[4], col_bg[4], col[3]; + + UI_GetThemeColor3fv(TH_BACK, col_bg); + glGetFloatv(GL_CURRENT_COLOR, col_wire); + interp_v3_v3v3(col, col_bg, col_wire, 0.15); + glColor3fv(col); + } + + /* If drawing wire and drawtype is not OB_WIRE then we are + * overlaying the wires. + * + * UPDATE bug #10290 - With this wire-only objects can draw + * behind other objects depending on their order in the scene. 2x if 0's below. undo'ing zr's commit: r4059 + * + * if draw wire is 1 then just drawing wire, no need for depth buffer stuff, + * otherwise this wire is to overlay solid mode faces so do some depth buffer tricks. + */ if (dt!=OB_WIRE && draw_wire==2) { bglPolygonOffset(rv3d->dist, 1.0); glDepthMask(0); // disable write in zbuffer, selected edge wires show better |