Use factor of ambient light with camera direction for allow normals on shadowed surfaces.

This commit is contained in:
LuisAntonRebollo 2014-12-09 12:38:28 +01:00 committed by Ben Payne
parent e0436efc21
commit b0efd865d9
4 changed files with 4 additions and 2 deletions

View file

@ -36,6 +36,7 @@ uniform float4 inLightColor[4];
#endif
uniform float4 ambient;
#define ambientCameraFactor 0.3
uniform float specularPower;
uniform float4 specularColor;

View file

@ -202,7 +202,7 @@ float4 main( FarFrustumQuadConnectP IN,
float Sat_NL_Att = saturate( dotNL * shadowed ) * lightBrightness;
float3 lightColorOut = lightMapParams.rgb * lightColor.rgb;
float4 addToResult = lightAmbient;
float4 addToResult = (lightAmbient * (1 - ambientCameraFactor)) + ( lightAmbient * ambientCameraFactor * saturate(dot(normalize(-IN.vsEyeRay), normal)) );
// TODO: This needs to be removed when lightmapping is disabled
// as its extra work per-pixel on dynamic lit scenes.

View file

@ -36,6 +36,7 @@ uniform float4 inLightColor[4];
#endif
uniform float4 ambient;
#define ambientCameraFactor 0.3
uniform float specularPower;
uniform float4 specularColor;

View file

@ -202,7 +202,7 @@ float4 main( FarFrustumQuadConnectP IN,
float Sat_NL_Att = saturate( dotNL * shadowed ) * lightBrightness;
float3 lightColorOut = lightMapParams.rgb * lightColor.rgb;
float4 addToResult = lightAmbient;
float4 addToResult = (lightAmbient * (1 - ambientCameraFactor)) + ( lightAmbient * ambientCameraFactor * saturate(dot(normalize(-IN.vsEyeRay), normal)) );
// TODO: This needs to be removed when lightmapping is disabled
// as its extra work per-pixel on dynamic lit scenes.