Skip to content
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

New global illumination system #57

Merged
merged 316 commits into from
Jun 3, 2022
Merged

New global illumination system #57

merged 316 commits into from
Jun 3, 2022

Conversation

h3r2tic
Copy link
Collaborator

@h3r2tic h3r2tic commented Apr 24, 2022

This completely overhauls the global illumination system, making it more accurate and robust to difficult light transport, and support large worlds out of the box.

image
image
image

The fixed-size radiance grid is gone, and so is its cone sweeping GI approach. In its place, an algorithm based in ReSTIR GI is implemented, along with a novel meshless irradiance cache.

Reflection denoising also gains ReSTIR, providing considerably better quality in difficult cases.

Moar info here: https://github.com/EmbarkStudios/kajiya/blob/restir-meets-probes/docs/gi-overview.md


Still quite a bit of work needs to happen before this can be merged -- primarily a bunch of cleanup and optimizations.

  • Fix data flow in reflection ReSTIR (bent lobe PDFs)
  • Use ReSTIR in the irradiance cache (for faster updates)
  • Reduce overhead of diffuse ReSTIR path validation
  • Add path validation to reflection ReSTIR
  • Disable the world radiance cache while it's still too janky
  • Slim down texture formats of new resources
  • Move fat irradiance cache buffers to textures not critical; later
  • Disable the now-unnecessary ircache debug pass
  • Make sure that the no-RTX path still works
  • Rename/move restir_settings.hlsl
  • Clean up the temporal/temporal2 mess
  • Update documentation, add some comments
    • GI overview
      • Reduced version of the old slides, with GI bits removed later.

@h3r2tic h3r2tic merged commit 0386b44 into main Jun 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants