From c9116dd4a44bac3e69fb757e54d9e13721173e7b Mon Sep 17 00:00:00 2001 From: Anis Date: Tue, 20 Jan 2015 19:07:29 +0100 Subject: [PATCH 1/3] OpenGL fix - fixed a crash when you activate Alpha Threshold checkbox without a diffuse map --- Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp index 7c54cced8..0a8d5a1e6 100644 --- a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp +++ b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp @@ -986,11 +986,9 @@ void DiffuseMapFeatGLSL::setTexData( Material::StageData &stageDat, U32 &texIndex ) { GFXTextureObject *tex = stageDat.getTex( MFT_DiffuseMap ); + passData.mSamplerNames[ texIndex ] = "diffuseMap"; if ( tex ) - { - passData.mSamplerNames[ texIndex ] = "diffuseMap"; passData.mTexSlot[ texIndex++ ].texObject = tex; - } } From 5d392e373ea0f80334d069f0f58a92c813403b24 Mon Sep 17 00:00:00 2001 From: Anis Date: Tue, 20 Jan 2015 19:13:25 +0100 Subject: [PATCH 2/3] Update shaderFeatureGLSL.cpp --- Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp index 0a8d5a1e6..114443822 100644 --- a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp +++ b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp @@ -985,8 +985,8 @@ void DiffuseMapFeatGLSL::setTexData( Material::StageData &stageDat, RenderPassData &passData, U32 &texIndex ) { - GFXTextureObject *tex = stageDat.getTex( MFT_DiffuseMap ); passData.mSamplerNames[ texIndex ] = "diffuseMap"; + GFXTextureObject *tex = stageDat.getTex( MFT_DiffuseMap ); if ( tex ) passData.mTexSlot[ texIndex++ ].texObject = tex; } From 4ccf89ba8e2b81ed81de83b8c606032af0d23e5d Mon Sep 17 00:00:00 2001 From: Anis Date: Wed, 21 Jan 2015 14:39:05 +0100 Subject: [PATCH 3/3] fix to avoid a missing sampler name declaration --- Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp index 114443822..82a5123ae 100644 --- a/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp +++ b/Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp @@ -985,10 +985,9 @@ void DiffuseMapFeatGLSL::setTexData( Material::StageData &stageDat, RenderPassData &passData, U32 &texIndex ) { - passData.mSamplerNames[ texIndex ] = "diffuseMap"; GFXTextureObject *tex = stageDat.getTex( MFT_DiffuseMap ); - if ( tex ) - passData.mTexSlot[ texIndex++ ].texObject = tex; + passData.mSamplerNames[ texIndex ] = "diffuseMap"; + passData.mTexSlot[ texIndex++ ].texObject = tex; }