Skip to content

bevy_solari: RIS for Direct Lighting #19620

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

JMS55
Copy link
Contributor

@JMS55 JMS55 commented Jun 13, 2025

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
  • Implement a shading pass (called reuse and shade, although there's no reuse yet)
  • 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

  • Skip the shadow map and light visibility passes (since solari replaces them)
  • 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

TODO: Screenshot

@JMS55 JMS55 added this to the 0.17 milestone Jun 13, 2025
@JMS55 JMS55 added the A-Rendering Drawing game state to the screen label Jun 13, 2025
@alice-i-cecile alice-i-cecile added C-Feature A new feature, making something new possible M-Needs-Release-Note Work that should be called out in the blog due to impact labels Jun 13, 2025
Copy link
Contributor

It looks like your PR has been selected for a highlight in the next release blog post, but you didn't provide a release note.

Please review the instructions for writing release notes, then expand or revise the content in the release notes directory to showcase your changes.

@JMS55 JMS55 requested review from atlv24 and removed request for atlv24 June 13, 2025 20:12
@JMS55 JMS55 changed the title bevy_solari: Spatial ReSTIR bevy_solari: RIS for Direct Lighting Jun 15, 2025
@JMS55 JMS55 marked this pull request as ready for review June 15, 2025 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible M-Needs-Release-Note Work that should be called out in the blog due to impact
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants