diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/moonF.glsl | 12 | ||||
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/windlight/moonF.glsl | 9 | 
2 files changed, 21 insertions, 0 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/moonF.glsl b/indra/newview/app_settings/shaders/class1/deferred/moonF.glsl index 80f232948a..4fac46fdfb 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/moonF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/moonF.glsl @@ -45,6 +45,12 @@ uniform float blend_factor; // interp factor between moon A/B  VARYING vec2 vary_texcoord0;  vec3 srgb_to_linear(vec3 c); + +vec3 getAdditiveColor(); + +/// Soft clips the light with a gamma correction +vec3 scaleSoftClip(vec3 light); +  void main()   {      vec4 moonA = texture2D(diffuseMap, vary_texcoord0.xy); @@ -65,6 +71,12 @@ void main()      //c.rgb *= moonlight_color.rgb; +    // Partial atmospherics calculation +    vec3 ac = getAdditiveColor(); +    c.rgb += ac; + +    c.rgb = scaleSoftClip(c.rgb); +      frag_data[0] = vec4(c.rgb, c.a);      frag_data[1] = vec4(0.0);      frag_data[2] = vec4(0.0f); diff --git a/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl b/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl index 24f3992e32..310bb15fdf 100644 --- a/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl +++ b/indra/newview/app_settings/shaders/class1/windlight/moonF.glsl @@ -44,6 +44,9 @@ uniform sampler2D altDiffuseMap;  uniform float blend_factor; // interp factor between moon A/B  VARYING vec2 vary_texcoord0; +vec3 getAdditiveColor(); +vec3 scaleSoftClip(vec3 light); +  void main()   {      vec4 moonA = texture2D(diffuseMap, vary_texcoord0.xy); @@ -59,6 +62,12 @@ void main()      c.rgb = pow(c.rgb, exp);      //c.rgb *= moonlight_color.rgb; +    // Partial atmospherics calculation +    vec3 ac = getAdditiveColor(); +    c.rgb += ac; + +    c.rgb = scaleSoftClip(c.rgb); +      frag_color = vec4(c.rgb, c.a);  }  | 
