diff options
| author | Dave Parks <davep@lindenlab.com> | 2023-03-31 11:57:21 -0500 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2023-03-31 11:57:21 -0500 | 
| commit | 0fe09bd968b987605123e99efb2fa040a988a942 (patch) | |
| tree | b36099b7e1aeb5c698ff5594337f1ea8f65ef14a /indra/newview/app_settings/shaders/class3/environment | |
| parent | c0958922c3b3015fd7f17781a79032050b2ed387 (diff) | |
SL-19485 Fix for sun shadows having no effect on water.  Make sphere probes fade in.
Diffstat (limited to 'indra/newview/app_settings/shaders/class3/environment')
| -rw-r--r-- | indra/newview/app_settings/shaders/class3/environment/waterF.glsl | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl index 7524567f6b..9da86759c9 100644 --- a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl +++ b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl @@ -25,10 +25,10 @@  // class3/environment/waterF.glsl -#ifdef DEFINE_GL_FRAGCOLOR  out vec4 frag_color; -#else -#define frag_color gl_FragColor + +#ifdef HAS_SUN_SHADOW +float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen);  #endif  vec3 scaleSoftClipFragLinear(vec3 l); @@ -199,6 +199,12 @@ void main()      vec3 additive;      vec3 atten; +    float shadow = 1.0f; + +#ifdef HAS_SUN_SHADOW +    shadow = sampleDirectionalShadow(pos.xyz, norm.xyz, distort); +#endif +      calcAtmosphericVarsLinear(pos.xyz, wavef, vary_light_dir, sunlit, amblit, additive, atten);      vec3 sunlit_linear = srgb_to_linear(sunlit); @@ -241,7 +247,6 @@ void main()      vec3 v = -normalize(pos.xyz); -    float scol = 1.0;      vec3 colorEmissive = vec3(0);      float ao = 1.0;      vec3 light_dir = transform_normal(lightDir); @@ -253,7 +258,7 @@ void main()      vec3 punctual = pbrPunctual(vec3(0), specularColor, 0.1, metallic, normalize(wavef+up*max(dist, 32.0)/32.0*(1.0-vdu)), v, normalize(light_dir)); -    vec3 color = punctual * sunlit_linear * 2.75 * scol; +    vec3 color = punctual * sunlit_linear * 2.75 * shadow;      vec3 ibl = pbrIbl(vec3(0), vec3(1), radiance, vec3(0), ao, NdotV, 0.0); | 
