Skip to content

Commit dfdb64d

Browse files
committed
Make sun cascades overlap a bit
1 parent c9604b0 commit dfdb64d

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

Malt/Render/Lighting.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,11 @@ def lerp(a,b,f):
311311
for i in range(1, len(splits)):
312312
near = splits[i-1]
313313
far = splits[i]
314+
# Make the cascades overlap a bit
315+
if i > 1 :
316+
near = lerp(near, splits[i-1], 0.01)
317+
if i+1 < len(splits):
318+
far = lerp(far, splits[i+1], 0.01)
314319
cascades.append(sun_shadowmap_matrix(sun_from_world_matrix, view_from_world_matrix, near, far, sample_offset, resolution))
315320

316321
return cascades

Malt/Shaders/Lighting/Lighting.glsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ ShadowData sun_shadow(vec3 position, Light light, sampler2DArray shadowmap, floa
188188

189189
S.light_uv = S.light_space * 0.5 + 0.5;
190190

191-
if(S.light_space == clamp(S.light_space, vec3(-1), vec3(1)))
191+
if(S.light_space == clamp(S.light_space, vec3(-0.99), vec3(0.99)))
192192
{
193193
S.depth = texture(shadowmap, vec3(S.light_uv.xy, index)).x;
194194
S.shadow = S.depth < S.light_uv.z - bias;

0 commit comments

Comments
 (0)