* Fix OpenGL drawing resulting (at least on windows) in missing panels when switching fullscreen + back
This commit is contained in:
2009-08-20 08:59:09 +00:00
parent 210ef4c07c
commit e75bf81ac6

View File

@@ -203,17 +203,14 @@ void draw_volume(Scene *scene, ARegion *ar, View3D *v3d, Base *base, GPUTexture
float *points = NULL; float *points = NULL;
int numpoints = 0; int numpoints = 0;
float cor[3] = {1.,1.,1.}; float cor[3] = {1.,1.,1.};
int gl_depth = 0, gl_blend = 0;
/* glGetBooleanv(GL_BLEND, (GLboolean *)&gl_blend);
res[0] = smd->domain->res[0]; glGetBooleanv(GL_DEPTH_TEST, (GLboolean *)&gl_depth);
res[1] = smd->domain->res[1];
res[2] = smd->domain->res[2];
*/
wmLoadMatrix(rv3d->viewmat); wmLoadMatrix(rv3d->viewmat);
glDepthMask(GL_FALSE); glDepthMask(GL_FALSE);
glEnable(GL_TEXTURE_3D);
glDisable(GL_DEPTH_TEST); glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND); glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 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); wmMultMatrix(ob->obmat);
glDisable(GL_TEXTURE_3D); if(gl_blend)
glDisable(GL_BLEND); glDisable(GL_BLEND);
glEnable(GL_DEPTH_TEST); if(gl_depth)
glDepthMask(GL_TRUE); {
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
}
} }