diff options
| author | Graham Linden <graham@lindenlab.com> | 2019-06-03 11:30:41 -0700 | 
|---|---|---|
| committer | Graham Linden <graham@lindenlab.com> | 2019-06-03 11:30:41 -0700 | 
| commit | 16d3279995bcb4a4766b721d0897b3d2199971d5 (patch) | |
| tree | 0a64b4323552044cf9e88e12f7c77804f26c0426 /indra/newview/app_settings/shaders/class2/windlight | |
| parent | 9d73d103bc137a9de5ccf550b9ceaf61c419179a (diff) | |
SL-10966
Fix light atten and transmittance calcs breaking ambient color contrib to fog.
Needs to be tested on DRTSIM-415 or better to get legacy viewer settings that match EEP.
Diffstat (limited to 'indra/newview/app_settings/shaders/class2/windlight')
4 files changed, 10 insertions, 29 deletions
| diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl index 9db04f4e9a..ee9c990b12 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl @@ -25,28 +25,9 @@  vec3 getAdditiveColor();  vec3 getAtmosAttenuation(); +vec3 scaleSoftClipFrag(vec3 light); -uniform vec4 gamma; -uniform vec4 lightnorm; -uniform vec4 sunlight_color; -uniform vec4 moonlight_color; -uniform int sun_up_factor; -uniform vec4 ambient; -uniform vec4 blue_horizon; -uniform vec4 blue_density; -uniform float haze_horizon; -uniform float haze_density; -uniform float cloud_shadow; -uniform float density_multiplier; -uniform float distance_multiplier; -uniform float max_y; -uniform vec4 glow; -uniform float scene_light_strength; -uniform mat3 ssao_effect_mat;  uniform int no_atmo; -uniform float sun_moon_glow_factor; - -vec3 scaleSoftClipFrag(vec3 light);  vec3 atmosFragLighting(vec3 light, vec3 additive, vec3 atten)  { diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl index 5c29290e47..97eeb302d9 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl @@ -49,7 +49,7 @@ uniform vec4 lightnorm;  uniform vec4 sunlight_color;  uniform vec4 moonlight_color;  uniform int sun_up_factor; -uniform vec4 ambient; +uniform vec4 ambient_color;  uniform vec4 blue_horizon;  uniform vec4 blue_density;  uniform float haze_horizon; @@ -147,7 +147,7 @@ void main()      temp2.x += .25;      // Increase ambient when there are more clouds -    vec4 tmpAmbient = ambient; +    vec4 tmpAmbient = ambient_color;      tmpAmbient += (1. - tmpAmbient) * cloud_shadow * 0.5;       // Dim sunlight by cloud shadow percentage diff --git a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl b/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl index 5b1eb55e0c..74326f252e 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl @@ -41,7 +41,7 @@ uniform vec4 lightnorm;  uniform vec4 sunlight_color;  uniform vec4 moonlight_color;  uniform int sun_up_factor; -uniform vec4 ambient; +uniform vec4 ambient_color;  uniform vec4 blue_horizon;  uniform vec4 blue_density;  uniform float haze_horizon; @@ -131,13 +131,13 @@ void main()  	// Haze color above cloud -	vary_HazeColor = (	  blue_horizon * blue_weight * (sunlight + ambient) -				+ (haze_horizon * haze_weight) * (sunlight * temp2.x + ambient) +	vary_HazeColor = (	  blue_horizon * blue_weight * (sunlight + ambient_color) +				+ (haze_horizon * haze_weight) * (sunlight * temp2.x + ambient_color)  			 );	  	// Increase ambient when there are more clouds -	vec4 tmpAmbient = ambient; +	vec4 tmpAmbient = ambient_color;  	tmpAmbient += (1. - tmpAmbient) * cloud_shadow * 0.5;   	// Dim sunlight by cloud shadow percentage diff --git a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl index f9d2a36818..d2d839ed05 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl @@ -50,12 +50,12 @@ vec3 atmosTransport(vec3 light)  vec3 fullbrightAtmosTransport(vec3 light)  { -    float brightness = dot(light.rgb, vec3(0.33333)); -    return atmosTransportFrag(light * 0.5, getAdditiveColor() * (brightness * 0.5 + 0.5), getAtmosAttenuation()); +    float brightness = dot(light.rgb * 0.5, vec3(0.3333)) + 0.1; +    return atmosTransportFrag(light * 0.5, getAdditiveColor() * brightness, getAtmosAttenuation());  }  vec3 fullbrightShinyAtmosTransport(vec3 light)  { -    float brightness = dot(light.rgb, vec3(0.33333)); +    float brightness = dot(light.rgb * 0.5, vec3(0.33333)) + 0.1;      return atmosTransportFrag(light * 0.5, getAdditiveColor() * (brightness * brightness), getAtmosAttenuation());  } | 
