From cd0a1cbd1391863c0d3186f681377ede6cf8c8ae Mon Sep 17 00:00:00 2001 From: nullprop Date: Sat, 4 Nov 2023 20:50:27 +0200 Subject: [PATCH] Fix flickering shadows --- res/shaders/pbr.wgsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/res/shaders/pbr.wgsl b/res/shaders/pbr.wgsl index 7ebb29b..c2f7748 100644 --- a/res/shaders/pbr.wgsl +++ b/res/shaders/pbr.wgsl @@ -74,7 +74,8 @@ fn sample_direct_light(index: i32, light_coords: vec4) -> f32 { let flip_correction = vec2(0.5, -0.5); let proj_correction = 1.0 / light_coords.w; let light_local = light_coords.xy * flip_correction * proj_correction + vec2(0.5, 0.5); - let reference_depth = light_coords.z * proj_correction; + let bias = 0.000001; + let reference_depth = light_coords.z * proj_correction - bias; var total_sample = 0.0; for (var i: i32 = 0; i < SHADOW_SAMPLES; i++) {