diff --git a/Templates/Empty/game/shaders/common/gl/lighting.glsl b/Templates/Empty/game/shaders/common/gl/lighting.glsl index 4483c7526..eb1c9b355 100644 --- a/Templates/Empty/game/shaders/common/gl/lighting.glsl +++ b/Templates/Empty/game/shaders/common/gl/lighting.glsl @@ -36,6 +36,7 @@ uniform vec4 inLightColor[4]; #endif uniform vec4 ambient; +#define ambientCameraFactor 0.3 uniform float specularPower; uniform vec4 specularColor; diff --git a/Templates/Empty/game/shaders/common/lighting/advanced/gl/vectorLightP.glsl b/Templates/Empty/game/shaders/common/lighting/advanced/gl/vectorLightP.glsl index 42e46f2dc..eab364cd5 100644 --- a/Templates/Empty/game/shaders/common/lighting/advanced/gl/vectorLightP.glsl +++ b/Templates/Empty/game/shaders/common/lighting/advanced/gl/vectorLightP.glsl @@ -202,7 +202,7 @@ void main() float Sat_NL_Att = saturate( dotNL * shadowed ) * lightBrightness; vec3 lightColorOut = lightMapParams.rgb * lightColor.rgb; - vec4 addToResult = lightAmbient; + vec4 addToResult = (lightAmbient * (1 - ambientCameraFactor)) + ( lightAmbient * ambientCameraFactor * saturate(dot(normalize(-vsEyeRay), normal)) ); // TODO: This needs to be removed when lightmapping is disabled // as its extra work per-pixel on dynamic lit scenes. diff --git a/Templates/Full/game/shaders/common/gl/lighting.glsl b/Templates/Full/game/shaders/common/gl/lighting.glsl index 4483c7526..eb1c9b355 100644 --- a/Templates/Full/game/shaders/common/gl/lighting.glsl +++ b/Templates/Full/game/shaders/common/gl/lighting.glsl @@ -36,6 +36,7 @@ uniform vec4 inLightColor[4]; #endif uniform vec4 ambient; +#define ambientCameraFactor 0.3 uniform float specularPower; uniform vec4 specularColor; diff --git a/Templates/Full/game/shaders/common/lighting/advanced/gl/vectorLightP.glsl b/Templates/Full/game/shaders/common/lighting/advanced/gl/vectorLightP.glsl index 42e46f2dc..eab364cd5 100644 --- a/Templates/Full/game/shaders/common/lighting/advanced/gl/vectorLightP.glsl +++ b/Templates/Full/game/shaders/common/lighting/advanced/gl/vectorLightP.glsl @@ -202,7 +202,7 @@ void main() float Sat_NL_Att = saturate( dotNL * shadowed ) * lightBrightness; vec3 lightColorOut = lightMapParams.rgb * lightColor.rgb; - vec4 addToResult = lightAmbient; + vec4 addToResult = (lightAmbient * (1 - ambientCameraFactor)) + ( lightAmbient * ambientCameraFactor * saturate(dot(normalize(-vsEyeRay), normal)) ); // TODO: This needs to be removed when lightmapping is disabled // as its extra work per-pixel on dynamic lit scenes.