summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class3/environment/waterF.glsl
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2025-03-06 09:36:23 +0800
committerErik Kundiman <erik@megapahit.org>2025-03-06 09:36:23 +0800
commitd13a43c74f9c7e450f87edab0bcd9db39ee7c56e (patch)
treed40e4e3c1f5ce0cf80b11b2d03568c48cfc5e88f /indra/newview/app_settings/shaders/class3/environment/waterF.glsl
parent5bf93b728ca7c671b6b812e753a40dcdb55b5d0d (diff)
parentaa060ae56c62869bb1d0f590e9a6eb681aabcefc (diff)
Merge remote-tracking branch 'secondlife/release/2025.03' into 2025.03
Diffstat (limited to 'indra/newview/app_settings/shaders/class3/environment/waterF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class3/environment/waterF.glsl11
1 files changed, 8 insertions, 3 deletions
diff --git a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl
index 18dc367568..a194832b1d 100644
--- a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl
+++ b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl
@@ -255,7 +255,7 @@ void main()
shadow = sampleDirectionalShadow(pos.xyz, norm.xyz, distort);
#endif
- vec3 sunlit_linear = srgb_to_linear(sunlit);
+ vec3 sunlit_linear = sunlit;
float fade = 1.0;
#ifdef TRANSPARENT_WATER
float depth = texture(depthMap, distort).r;
@@ -263,7 +263,12 @@ void main()
vec3 refPos = getPositionWithNDC(vec3(distort*2.0-vec2(1.0), depth*2.0-1.0));
// Calculate some distance fade in the water to better assist with refraction blending and reducing the refraction texture's "disconnect".
- fade = max(0.0,min(1.0, (pos.z - refPos.z) / 10.0)) * water_mask;
+#ifdef SHORELINE_FADE
+ fade = max(0.0,min(1.0, (pos.z - refPos.z) / 10.0))
+#else
+ fade = 1.0 * water_mask;
+#endif
+
distort2 = mix(distort, distort2, min(1.0, fade * 10.0));
depth = texture(depthMap, distort2).r;
@@ -317,7 +322,7 @@ void main()
pbrPunctual(diffuseColor, specularColor, perceptualRoughness, metallic, normalize(wavef+up*max(dist, 32.0)/32.0*(1.0-vdu)), v, normalize(light_dir), nl, diffPunc, specPunc);
- vec3 punctual = clamp(nl * (diffPunc + specPunc), vec3(0), vec3(10)) * sunlit_linear * shadow;
+ vec3 punctual = clamp(nl * (diffPunc + specPunc), vec3(0), vec3(10)) * sunlit_linear * shadow * atten;
radiance *= df2.y;
//radiance = toneMapNoExposure(radiance);
vec3 color = vec3(0);