[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56334] trunk/blender/source/gameengine/ Ketsji/KX_BlenderMaterial.cpp: BGE: Small fix to allow clip alpha to work with alpha shadows.

Mitchell Stokes mogurijin at gmail.com
Sat Apr 27 10:37:41 CEST 2013


Revision: 56334
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56334
Author:   moguri
Date:     2013-04-27 08:37:41 +0000 (Sat, 27 Apr 2013)
Log Message:
-----------
BGE: Small fix to allow clip alpha to work with alpha shadows.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.cpp

Modified: trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.cpp	2013-04-27 02:54:24 UTC (rev 56333)
+++ trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.cpp	2013-04-27 08:37:41 UTC (rev 56334)
@@ -400,7 +400,7 @@
 	
 		if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_TEXTURED)
 			tmp->setShaderData(true, rasty);
-		else if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && IsAlpha() && !rasty->GetUsingOverrideShader())
+		else if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && mMaterial->alphablend != GEMAT_SOLID && !rasty->GetUsingOverrideShader())
 			tmp->setShaderData(true, rasty);
 		else
 			tmp->setShaderData(false, rasty);
@@ -447,7 +447,7 @@
 	
 		if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_TEXTURED)
 			tmp->setBlenderShaderData(true, rasty);
-		else if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && IsAlpha() && !rasty->GetUsingOverrideShader())
+		else if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && mMaterial->alphablend != GEMAT_SOLID && !rasty->GetUsingOverrideShader())
 			tmp->setBlenderShaderData(true, rasty);
 		else
 			tmp->setBlenderShaderData(false, rasty);
@@ -498,7 +498,7 @@
 
 		if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_TEXTURED)
 			tmp->setTexData( true,rasty  );
-		else if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && IsAlpha() && !rasty->GetUsingOverrideShader())
+		else if (rasty->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && mMaterial->alphablend != GEMAT_SOLID && !rasty->GetUsingOverrideShader())
 			tmp->setTexData(true, rasty);
 		else
 			tmp->setTexData( false,rasty);
@@ -635,7 +635,7 @@
 void KX_BlenderMaterial::ActivateTexGen(RAS_IRasterizer *ras) const
 {
 	if (ras->GetDrawingMode() == RAS_IRasterizer::KX_TEXTURED || 
-		(ras->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && IsAlpha() && !ras->GetUsingOverrideShader())) {
+		(ras->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && mMaterial->alphablend != GEMAT_SOLID && !ras->GetUsingOverrideShader())) {
 		ras->SetAttribNum(0);
 		if (mShader && GLEW_ARB_shader_objects) {
 			if (mShader->GetAttribute() == BL_Shader::SHD_TANGENT) {




More information about the Bf-blender-cvs mailing list