From 245c94a75e60c2c0b58c1f39d189258e2e424e29 Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Sun, 17 Jun 2012 07:59:22 +0000 Subject: [PATCH] Fix for [#31848] "BGE: Commit r47628 breaks custom GLSL material shaders" reported by Alex Fraser. Custom shaders is a case where the BGE can be using GLSL materials and still need to upload textures without bf_gpu. I tweaked some logic to handle this special case and added more comments. --- source/gameengine/Ketsji/KX_BlenderMaterial.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/gameengine/Ketsji/KX_BlenderMaterial.cpp b/source/gameengine/Ketsji/KX_BlenderMaterial.cpp index 939f0693161..5459ebe945c 100644 --- a/source/gameengine/Ketsji/KX_BlenderMaterial.cpp +++ b/source/gameengine/Ketsji/KX_BlenderMaterial.cpp @@ -176,7 +176,8 @@ void KX_BlenderMaterial::OnConstruction(int layer) mMaterial->matname<< ", image will not be available"); } // If we're using glsl materials, the textures are handled by bf_gpu, so don't load them twice! - else if (!mMaterial->glslmat) { + // However, if we're using a custom shader, then we still need to load the textures ourselves. + else if (!mMaterial->glslmat || mBlenderShader) { if ( mMaterial->img[i] ) { if ( ! mTextures[i].InitFromImage(i, mMaterial->img[i], (mMaterial->flag[i] &MIPMAP)!=0 )) spit("unable to initialize image("<