[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55010] trunk/blender/source/gameengine/ Rasterizer/RAS_2DFilterManager.cpp: BGE bug-fix[#34523] 2dfilter produces render error (objects disappear) - likely an alpha problem

Dalai Felinto dfelinto at gmail.com
Mon Mar 4 09:22:21 CET 2013


Revision: 55010
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55010
Author:   dfelinto
Date:     2013-03-04 08:22:20 +0000 (Mon, 04 Mar 2013)
Log Message:
-----------
BGE bug-fix[#34523] 2dfilter produces render error (objects disappear) - likely an alpha problem
Fix for 2.66a

With help from Daniel Stokes and Mitchell Stokes.

This bug always existed in OSX, but started showing up in Windows and Linux on review (54745 + 54747)
[the patch to enable alpha buffer for all OSs]

A better fix would be to use RAS_IRasterizer::SetAlphaBlend(GPU_BLEND_SOLID);
but I think gpu_verify_alpha_blend() is not switching to SOLID because
GTS.alphablend is GPU_BLEND_SOLID (even though GL_ALPHA_TEST is enabled).

Anyways, this is not something worth tackling now, since in terms of functionality it shouldn't matter.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp	2013-03-04 07:15:09 UTC (rev 55009)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp	2013-03-04 08:22:20 UTC (rev 55010)
@@ -435,6 +435,9 @@
 	glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
 	// if the last rendered face had alpha add it would messes with the color of the plane we apply 2DFilter to
 	glDisable(GL_BLEND); 
+	// fix for [#34523] alpha buffer is now available for all OSs
+	glDisable(GL_ALPHA_TEST);
+
 	glPushMatrix();		//GL_MODELVIEW
 	glLoadIdentity();	// GL_MODELVIEW
 	glMatrixMode(GL_TEXTURE);




More information about the Bf-blender-cvs mailing list