diff options
| author | Dave Parks <davep@lindenlab.com> | 2022-12-12 15:35:52 -0600 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2022-12-12 15:35:52 -0600 | 
| commit | fe37ea5b3f6e5d0b222441496105072a276e2926 (patch) | |
| tree | bbf9a99c42b6acf0f8e8cbf38a1a7f07745a4866 /indra/newview/app_settings/shaders/class1/deferred | |
| parent | 2ab424493f09ffcc58ad32922fb6ff52790de2ce (diff) | |
SL-18790 Fix for transparent objects casting shadows when they ought not.
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl index 32e9714a75..1a344045fe 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/shadowAlphaMaskF.glsl @@ -48,6 +48,24 @@ void main()          discard;      } +#if !defined(IS_FULLBRIGHT) +    alpha *= vertex_color.a; +#endif + +    if (alpha < 0.05) // treat as totally transparent +    { +        discard; +    } + +    if (alpha < 0.88) // treat as semi-transparent +    { +        if (fract(0.5*floor(target_pos_x / post_pos.w )) < 0.25) +        { +            discard; +        } +    } + +  	frag_color = vec4(1,1,1,1);  #if !defined(DEPTH_CLAMP) | 
