[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55470] trunk/blender/source/blender/ editors/space_view3d/drawobject.c: use clip alpha setting for empty-image drawing.

Campbell Barton ideasman42 at gmail.com
Thu Mar 21 16:43:05 CET 2013


Revision: 55470
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55470
Author:   campbellbarton
Date:     2013-03-21 15:43:05 +0000 (Thu, 21 Mar 2013)
Log Message:
-----------
use clip alpha setting for empty-image drawing.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/drawobject.c

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2013-03-21 15:26:41 UTC (rev 55469)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2013-03-21 15:43:05 UTC (rev 55470)
@@ -603,10 +603,16 @@
 	glScalef(scale * sca_x, scale * sca_y, 1.0f);
 
 	if (ibuf && ibuf->rect) {
+		const bool use_clip = (U.glalphaclip != 1.0f);
 		/* Setup GL params */
 		glEnable(GL_BLEND);
 		glBlendFunc(GL_SRC_ALPHA,  GL_ONE_MINUS_SRC_ALPHA);
 
+		if (use_clip) {
+			glEnable(GL_ALPHA_TEST);
+			glAlphaFunc(GL_GREATER, U.glalphaclip);
+		}
+
 		/* Use the object color and alpha */
 		glColor4fv(ob->col);
 
@@ -615,6 +621,11 @@
 		glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
 
 		glDisable(GL_BLEND);
+
+		if (use_clip) {
+			glDisable(GL_ALPHA_TEST);
+			glAlphaFunc(GL_GREATER, 0.0f);
+		}
 	}
 
 	if ((dflag & DRAW_CONSTCOLOR) == 0) {




More information about the Bf-blender-cvs mailing list