diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-04-01 18:14:37 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-04-01 18:14:37 +0400 |
commit | b94a5e7f02a07e13d3ad559ddef464086a447ae8 (patch) | |
tree | 6ecb8b789e40abd3b21ea1d56d0743574c4058d2 /source/blender/editors/space_view3d | |
parent | a4193184bf52b338df2d25fdf7fefed2be55bbb1 (diff) |
fix problem with recent commit [#26717] X-Ray conflict (X-Ray Grease Pencil and Object X-Ray)
Diffstat (limited to 'source/blender/editors/space_view3d')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index f5037ca24a1..1c830b7022a 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2120,6 +2120,11 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, } } + /* must be before xray draw which clears the depth buffer */ + if(v3d->zbuf) glDisable(GL_DEPTH_TEST); + draw_gpencil_view3d_ext(scene, v3d, ar, 1); + if(v3d->zbuf) glEnable(GL_DEPTH_TEST); + /* transp and X-ray afterdraw stuff */ if(v3d->afterdraw_transp.first) view3d_draw_transp(scene, ar, v3d); if(v3d->afterdraw_xray.first) view3d_draw_xray(scene, ar, v3d, 1); // clears zbuffer if it is used! @@ -2132,8 +2137,6 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, } /* draw grease-pencil stuff */ - draw_gpencil_view3d_ext(scene, v3d, ar, 1); - ED_region_pixelspace(ar); /* draw grease-pencil stuff - needed to get paint-buffer shown too (since it's 2D) */ @@ -2451,7 +2454,14 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) } // REEB_draw(); - + + if ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) { + /* must be before xray draw which clears the depth buffer */ + if(v3d->zbuf) glDisable(GL_DEPTH_TEST); + draw_gpencil_view3d((bContext *)C, 1); + if(v3d->zbuf) glEnable(GL_DEPTH_TEST); + } + /* Transp and X-ray afterdraw stuff */ if(v3d->afterdraw_transp.first) view3d_draw_transp(scene, ar, v3d); if(v3d->afterdraw_xray.first) view3d_draw_xray(scene, ar, v3d, 1); // clears zbuffer if it is used! @@ -2472,12 +2482,8 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) v3d->zbuf= FALSE; glDisable(GL_DEPTH_TEST); } - - if ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) { - /* draw grease-pencil stuff (3d-space strokes) */ - //if (v3d->flag2 & V3D_DISPGP) - draw_gpencil_view3d((bContext *)C, 1); + if ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) { BDR_drawSketch(C); } |