Fade last cascade in directional shadow, closes #9779
This commit is contained in:
parent
8ad7139631
commit
294e912a84
1 changed files with 4 additions and 1 deletions
|
@ -1694,6 +1694,7 @@ FRAGMENT_SHADER_CODE
|
|||
if (gl_FragCoord.w > shadow_split_offsets.w) {
|
||||
|
||||
vec3 pssm_coord;
|
||||
float pssm_fade=0.0;
|
||||
|
||||
#ifdef LIGHT_USE_PSSM_BLEND
|
||||
float pssm_blend;
|
||||
|
@ -1751,6 +1752,7 @@ FRAGMENT_SHADER_CODE
|
|||
} else {
|
||||
highp vec4 splane=(shadow_matrix4 * vec4(vertex,1.0));
|
||||
pssm_coord=splane.xyz/splane.w;
|
||||
pssm_fade = smoothstep(shadow_split_offsets.z,shadow_split_offsets.w,gl_FragCoord.w);
|
||||
|
||||
#if defined(LIGHT_USE_PSSM_BLEND)
|
||||
use_blend=false;
|
||||
|
@ -1782,6 +1784,7 @@ FRAGMENT_SHADER_CODE
|
|||
} else {
|
||||
highp vec4 splane=(shadow_matrix2 * vec4(vertex,1.0));
|
||||
pssm_coord=splane.xyz/splane.w;
|
||||
pssm_fade = smoothstep(shadow_split_offsets.x,shadow_split_offsets.y,gl_FragCoord.w);
|
||||
#if defined(LIGHT_USE_PSSM_BLEND)
|
||||
use_blend=false;
|
||||
|
||||
|
@ -1818,7 +1821,7 @@ FRAGMENT_SHADER_CODE
|
|||
|
||||
}
|
||||
#endif
|
||||
light_attenuation=mix(shadow_color_contact.rgb,vec3(1.0),shadow);
|
||||
light_attenuation=mix(mix(shadow_color_contact.rgb,vec3(1.0),shadow),vec3(1.0),pssm_fade);
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue