diff options
author | Daniel Genrich <daniel.genrich@gmx.net> | 2009-08-20 12:59:09 +0400 |
---|---|---|
committer | Daniel Genrich <daniel.genrich@gmx.net> | 2009-08-20 12:59:09 +0400 |
commit | e75bf81ac683cccb244c4be57b81d217d9f675db (patch) | |
tree | 439ffe91657b0c007af728825fe781c66e47afaf /source/blender/editors/space_view3d/drawvolume.c | |
parent | 210ef4c07c0f8fe602068bfc797ef8dd588a6204 (diff) |
Smoke:
* Fix OpenGL drawing resulting (at least on windows) in missing panels when switching fullscreen + back
Diffstat (limited to 'source/blender/editors/space_view3d/drawvolume.c')
-rw-r--r-- | source/blender/editors/space_view3d/drawvolume.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/source/blender/editors/space_view3d/drawvolume.c b/source/blender/editors/space_view3d/drawvolume.c index 221003360f4..1fd17951e8a 100644 --- a/source/blender/editors/space_view3d/drawvolume.c +++ b/source/blender/editors/space_view3d/drawvolume.c @@ -203,17 +203,14 @@ void draw_volume(Scene *scene, ARegion *ar, View3D *v3d, Base *base, GPUTexture float *points = NULL; int numpoints = 0; float cor[3] = {1.,1.,1.}; + int gl_depth = 0, gl_blend = 0; - /* - res[0] = smd->domain->res[0]; - res[1] = smd->domain->res[1]; - res[2] = smd->domain->res[2]; - */ + glGetBooleanv(GL_BLEND, (GLboolean *)&gl_blend); + glGetBooleanv(GL_DEPTH_TEST, (GLboolean *)&gl_depth); wmLoadMatrix(rv3d->viewmat); glDepthMask(GL_FALSE); - glEnable(GL_TEXTURE_3D); glDisable(GL_DEPTH_TEST); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -296,9 +293,12 @@ void draw_volume(Scene *scene, ARegion *ar, View3D *v3d, Base *base, GPUTexture wmMultMatrix(ob->obmat); - glDisable(GL_TEXTURE_3D); - glDisable(GL_BLEND); - glEnable(GL_DEPTH_TEST); - glDepthMask(GL_TRUE); + if(gl_blend) + glDisable(GL_BLEND); + if(gl_depth) + { + glEnable(GL_DEPTH_TEST); + glDepthMask(GL_TRUE); + } } |