diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/lighting')
-rw-r--r-- | indra/newview/app_settings/shaders/class1/lighting/lightV.glsl | 7 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl index 38230836eb..5e39d1629d 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl @@ -28,11 +28,16 @@ // All lights, no specular highlights vec3 atmosAmbient(); vec4 sumLights(vec3 pos, vec3 norm, vec4 color); +float getAmbientClamp(); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { vec4 c = sumLights(pos, norm, color); - c.rgb += atmosAmbient() * color.rgb * 0.5; + +#if !defined(AMBIENT_KILL) + c.rgb += atmosAmbient() * color.rgb * 0.5 * getAmbientClamp(); +#endif + return c; } diff --git a/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl index 761ac29ee2..0c3ea4231e 100644 --- a/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl +++ b/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl @@ -39,7 +39,15 @@ vec4 sumLights(vec3 pos, vec3 norm, vec4 color) col.rgb = light_diffuse[1].rgb * calcDirectionalLight(norm, light_position[1].xyz); col.rgb = scaleDownLight(col.rgb); + +#if defined(LOCAL_LIGHT_KILL) + col.rgb = vec3(0); +#endif + +#if !defined(SUNLIGHT_KILL) col.rgb += atmosAffectDirectionalLight(calcDirectionalLight(norm, light_position[0].xyz)); +#endif + col.rgb = min(col.rgb*color.rgb, 1.0); return col; } |