diff --git a/kraken_standard_assets_ios/Shaders/ObjectShader.fsh b/kraken_standard_assets_ios/Shaders/ObjectShader.fsh index 62edf5a..47ef5e7 100644 --- a/kraken_standard_assets_ios/Shaders/ObjectShader.fsh +++ b/kraken_standard_assets_ios/Shaders/ObjectShader.fsh @@ -252,7 +252,10 @@ void main() #if GBUFFER_PASS == 3 specularFactor = gbuffer_specular_factor; #else - specularFactor = max(0.0,pow(dot(halfVec,normal), material_shininess)); + mediump float halfVecDot = dot(halfVec,normal); + if(halfVecDot > 0.0) { + specularFactor = max(0.0,pow(halfVecDot, material_shininess)); + } #endif } diff --git a/kraken_standard_assets_osx/Shaders/ObjectShader_osx.fsh b/kraken_standard_assets_osx/Shaders/ObjectShader_osx.fsh index 6c5fd23..1a18867 100644 --- a/kraken_standard_assets_osx/Shaders/ObjectShader_osx.fsh +++ b/kraken_standard_assets_osx/Shaders/ObjectShader_osx.fsh @@ -252,7 +252,10 @@ void main() #if GBUFFER_PASS == 3 specularFactor = gbuffer_specular_factor; #else - specularFactor = max(0.0,pow(dot(halfVec,normal), material_shininess)); + mediump float halfVecDot = dot(halfVec,normal); + if(halfVecDot > 0.0) { + specularFactor = max(0.0,pow(halfVecDot, material_shininess)); + } #endif }