Pārlūkot izejas kodu

Merge pull request #1140 from Lopuska/patch-18

ambient normal on GLSL
Luis Anton Rebollo 10 gadi atpakaļ
vecāks
revīzija
d26c846c31

+ 1 - 0
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;
 

+ 1 - 1
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.

+ 1 - 0
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;
 

+ 1 - 1
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.