diff options
| author | Graham Linden <graham@lindenlab.com> | 2018-09-17 19:40:21 +0100 | 
|---|---|---|
| committer | Graham Linden <graham@lindenlab.com> | 2018-09-17 19:40:21 +0100 | 
| commit | 57d89c80945ee0944f745b812487b6e3c16631d2 (patch) | |
| tree | be297b69118b9331fe57307ad45cb46da5bf2b57 /indra | |
| parent | 636839a47c6881b10d676d19c65d6c34a956622a (diff) | |
SL-1491 take two: fix non-ALM/class2 atmospherics additive artifacts
Modulate class1 softenLight atmospheric additive by specular.a (same fix as for class2).
Clamp additive color to <= vec3(0.2) to avoid similar artifacts in non-deferred render path.
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl | 3 | ||||
| -rw-r--r-- | indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl | 3 | 
2 files changed, 5 insertions, 1 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl index 4e11a7e2f5..7a1968efee 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl @@ -174,7 +174,8 @@ void main()  		if (norm.w < 0.5)  		{ -			col = mix(atmosFragLighting(col, additive, atten), fullbrightFragAtmosTransport(col, atten, additive), diffuse.a); +            vec3 add = additive * spec.a; +			col = mix(atmosFragLighting(col, add, atten), fullbrightFragAtmosTransport(col, atten, add), diffuse.a);  			col = mix(scaleFragSoftClip(col), fullbrightScaleSoftClipFrag(col, atten), diffuse.a);  		} diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl index 99dbee15ee..3b87c70932 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl @@ -73,6 +73,9 @@ void setAmblitColor(vec3 v)  void setAdditiveColor(vec3 v)  { +    // SL-1491 clamp additive term to something reasonable to prevent +    // lens flares over non-reflective surfaces +    v = clamp(v, vec3(0), vec3(0.2));  	additive_color = v;  	vary_AdditiveColor = v;  } | 
