summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class2
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/app_settings/shaders/class2')
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl14
-rw-r--r--indra/newview/app_settings/shaders/class2/deferred/pbralphaF.glsl15
2 files changed, 10 insertions, 19 deletions
diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
index b63f3b60f9..07fa5cd01c 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
@@ -65,9 +65,7 @@ uniform vec3 light_diffuse[8];
void waterClip(vec3 pos);
-#ifdef WATER_FOG
-vec4 applyWaterFogViewLinear(vec3 pos, vec4 color, vec3 sunlit);
-#endif
+vec4 applyWaterFogViewLinear(vec3 pos, vec4 color);
vec3 srgb_to_linear(vec3 c);
vec3 linear_to_srgb(vec3 c);
@@ -270,12 +268,6 @@ void main()
color.rgb *= diffuse_linear.rgb;
- color.rgb = atmosFragLightingLinear(color.rgb, additive, atten);
-
-#ifdef WATER_FOG
- color = applyWaterFogViewLinear(pos.xyz, color, sunlit_linear);
-#endif // WATER_FOG
-
vec4 light = vec4(0,0,0,0);
#define LIGHT_LOOP(i) light.rgb += calcPointLightOrSpotLight(light_diffuse[i].rgb, diffuse_linear.rgb, pos.xyz, norm, light_position[i], light_direction[i].xyz, light_attenuation[i].x, light_attenuation[i].y, light_attenuation[i].z, light_attenuation[i].w);
@@ -291,6 +283,10 @@ void main()
// sum local light contrib in linear colorspace
color.rgb += light.rgb;
+ color.rgb = atmosFragLightingLinear(color.rgb, additive, atten);
+
+ color = applyWaterFogViewLinear(pos.xyz, color);
+
#endif // #else // FOR_IMPOSTOR
#ifdef IS_HUD
diff --git a/indra/newview/app_settings/shaders/class2/deferred/pbralphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/pbralphaF.glsl
index 35d752be02..80c1769b15 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/pbralphaF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/pbralphaF.glsl
@@ -84,9 +84,7 @@ vec3 linear_to_srgb(vec3 c);
void calcAtmosphericVarsLinear(vec3 inPositionEye, vec3 norm, vec3 light_dir, out vec3 sunlit, out vec3 amblit, out vec3 atten, out vec3 additive);
vec3 atmosFragLightingLinear(vec3 color, vec3 additive, vec3 atten);
-#ifdef WATER_FOG
-vec4 applyWaterFogViewLinear(vec3 pos, vec4 color, vec3 sunlit);
-#endif
+vec4 applyWaterFogViewLinear(vec3 pos, vec4 color);
void calcHalfVectors(vec3 lv, vec3 n, vec3 v, out vec3 h, out vec3 l, out float nh, out float nl, out float nv, out float vh, out float lightDist);
float calcLegacyDistanceAttenuation(float distance, float falloff);
@@ -228,13 +226,6 @@ void main()
color = pbrBaseLight(diffuseColor, specularColor, metallic, v, norm.xyz, perceptualRoughness, light_dir, sunlit_linear, scol, radiance, irradiance, colorEmissive, ao, additive, atten);
- color.rgb = atmosFragLightingLinear(color.rgb, additive, atten);
-
-#ifdef WATER_FOG
- vec4 temp = applyWaterFogViewLinear(pos, vec4(color, 0.0), sunlit_linear);
- color = temp.rgb;
-#endif
-
vec3 light = vec3(0);
// Punctual lights
@@ -250,7 +241,11 @@ void main()
color.rgb += light.rgb;
+ color.rgb = atmosFragLightingLinear(color.rgb, additive, atten);
+ vec4 temp = applyWaterFogViewLinear(pos, vec4(color, 0.0));
+ color = temp.rgb;
+
float a = basecolor.a*vertex_color.a;
frag_color = max(vec4(color.rgb,a), vec4(0));