Skip to content

Commit 3702373

Browse files
authored
Fix solari GI shadow regression (#21919)
In #21649, I switched where visibility rays get traced, and while it improved DI, it regressed GI. I'm reverting the GI change to fix. Before: <img width="3206" height="1875" alt="image" src="https://github.com/user-attachments/assets/379c613a-2a36-4fe0-81f1-9e278b28ca37" /> After: <img width="3206" height="1875" alt="image" src="https://github.com/user-attachments/assets/56f5c457-6639-4b48-9472-8cd2ad4936d8" />
1 parent 054ce1e commit 3702373

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

crates/bevy_solari/src/realtime/restir_gi.wgsl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,7 @@ fn spatial_and_shade(@builtin(global_invocation_id) global_id: vec3<u32>) {
6767
let spatial = load_spatial_reservoir(global_id.xy, depth, surface.world_position, surface.world_normal, &rng);
6868
let merge_result = merge_reservoirs(input_reservoir, surface.world_position, surface.world_normal, surface.material.base_color / PI,
6969
spatial.reservoir, spatial.world_position, spatial.world_normal, spatial.diffuse_brdf, &rng);
70-
var combined_reservoir = merge_result.merged_reservoir;
71-
72-
combined_reservoir.radiance *= trace_point_visibility(surface.world_position, combined_reservoir.sample_point_world_position);
70+
let combined_reservoir = merge_result.merged_reservoir;
7371

7472
gi_reservoirs_a[pixel_index] = combined_reservoir;
7573

@@ -164,7 +162,9 @@ fn load_spatial_reservoir(pixel_id: vec2<u32>, depth: f32, world_position: vec3<
164162
}
165163

166164
let spatial_pixel_index = spatial_pixel_id.x + spatial_pixel_id.y * u32(view.main_pass_viewport.z);
167-
let spatial_reservoir = gi_reservoirs_b[spatial_pixel_index];
165+
var spatial_reservoir = gi_reservoirs_b[spatial_pixel_index];
166+
167+
spatial_reservoir.radiance *= trace_point_visibility(world_position, spatial_reservoir.sample_point_world_position);
168168

169169
return NeighborInfo(spatial_reservoir, spatial_surface.world_position, spatial_surface.world_normal, spatial_diffuse_brdf);
170170
}

0 commit comments

Comments
 (0)