bevy/crates/bevy_solari
JMS55 0518eda2ad
bevy_solari: RIS for Direct Lighting (#19620)
# Objective

- Start the realtime direct lighting work for bevy solari

## Solution

- Setup all the CPU-side code for the realtime lighting path (minus some
parts for the temporal reuse I haven't written yet)
- Implement RIS with 32 samples to choose a good random light
- Don't sample a disk for the directional light, just treat it as a
single point. This is faster and not much worse quality.

## Future
- Spatiotemporal reuse (ReSTIR DI)
- Denoiser (DLSS-RR)
- Light tile optimization for faster light selection 
- Indirect lighting (ReSTIR GI)

## Testing
- Run the solari example to see realtime
- Run the solari example with `-- --pathtracer` to see the existing
pathtracer

---

## Showcase

1 frame direct lighting:

![image](https://github.com/user-attachments/assets/b70b968d-9c73-4983-9b6b-b60cace9b47a)

Accumulated pathtracer output:

![image](https://github.com/user-attachments/assets/d681bded-ef53-4dbe-bcca-96997c58c3be)

---------

Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
2025-06-23 00:47:10 +00:00
..
src bevy_solari: RIS for Direct Lighting (#19620) 2025-06-23 00:47:10 +00:00
Cargo.toml bevy_solari: RIS for Direct Lighting (#19620) 2025-06-23 00:47:10 +00:00
LICENSE-APACHE Initial raytraced lighting progress (bevy_solari) (#19058) 2025-06-12 21:26:10 +00:00
LICENSE-MIT Initial raytraced lighting progress (bevy_solari) (#19058) 2025-06-12 21:26:10 +00:00
README.md Initial raytraced lighting progress (bevy_solari) (#19058) 2025-06-12 21:26:10 +00:00

Bevy Solari

License Crates.io Downloads Docs Discord

Logo