[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30730] trunk/blender/source/blender/ editors/space_view3d/view3d_draw.c: bugfix [#21388] Auto depth + Z Transparency artifacts
Campbell Barton
ideasman42 at gmail.com
Mon Jul 26 03:59:52 CEST 2010
Revision: 30730
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30730
Author: campbellbarton
Date: 2010-07-26 03:59:50 +0200 (Mon, 26 Jul 2010)
Log Message:
-----------
bugfix [#21388] Auto depth + Z Transparency artifacts
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c 2010-07-26 01:26:23 UTC (rev 30729)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c 2010-07-26 01:59:50 UTC (rev 30730)
@@ -1729,8 +1729,12 @@
if (v3d->afterdraw.first) {
View3DAfter *v3da, *next;
int num = 0;
+ int mask_orig;
v3d->xray= TRUE;
+ /* transp materials can change the depth mask, see #21388 */
+ glGetIntegerv(GL_DEPTH_WRITEMASK, &mask_orig);
+
glDepthFunc(GL_ALWAYS); /* always write into the depth bufer, overwriting front z values */
for(v3da= v3d->afterdraw.first; v3da; v3da= next) {
next= v3da->next;
@@ -1757,6 +1761,8 @@
}
v3d->xray= FALSE;
v3d->transp= FALSE;
+
+ glDepthMask(mask_orig);
}
if(rv3d->rflag & RV3D_CLIPPING)
More information about the Bf-blender-cvs
mailing list