Skip to content

Conversation

@SparkyPotato
Copy link
Contributor

@SparkyPotato SparkyPotato commented Dec 30, 2025

ReSTIR DI (and other DI algorithms) can't find light samples that align well with very smooth, specular surfaces. However, specular GI does a trace for these surfaces, which we can use to improve DI.

This PR uses the specular GI trace to light the specular lobe for smooth surfaces, disabling DI on the specular lobe for them.

This PR:
image

Previously:
image

Reference:
image

@SparkyPotato SparkyPotato added the A-Rendering Drawing game state to the screen label Dec 30, 2025
@SparkyPotato SparkyPotato requested a review from JMS55 December 30, 2025 02:32
@SparkyPotato SparkyPotato added S-Needs-Review Needs reviewer attention (from anyone!) to move forward C-Refinement Improves output quality, without fixing a clear bug or adding new functionality. labels Dec 30, 2025
@SparkyPotato SparkyPotato added this to the 0.18 milestone Dec 30, 2025
@alice-i-cecile alice-i-cecile added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Dec 30, 2025
@alice-i-cecile alice-i-cecile added this pull request to the merge queue Dec 30, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to a conflict with the base branch Dec 30, 2025
@alice-i-cecile alice-i-cecile added this pull request to the merge queue Dec 30, 2025
Merged via the queue into bevyengine:main with commit 98a5aa5 Dec 30, 2025
38 checks passed
mockersf pushed a commit that referenced this pull request Dec 30, 2025
ReSTIR DI (and other DI algorithms) can't find light samples that align
well with very smooth, specular surfaces. However, specular GI does a
trace for these surfaces, which we can use to improve DI.

This PR uses the specular GI trace to light the specular lobe for smooth
surfaces, disabling DI on the specular lobe for them.

This PR:
<img width="1920" height="1032" alt="image"
src="https://github.com/user-attachments/assets/d7768779-6a57-4226-8d36-eefaf2a27df1"
/>

Previously:
<img width="1920" height="1032" alt="image"
src="https://github.com/user-attachments/assets/5b408160-a384-4f4b-8ae4-3c89812f75d3"
/>

Reference:
<img width="1920" height="1032" alt="image"
src="https://github.com/user-attachments/assets/089fdec5-17a4-4277-87b2-dd6d271ba1f6"
/>

---------

Co-authored-by: JMS55 <[email protected]>
mockersf pushed a commit that referenced this pull request Dec 30, 2025
ReSTIR DI (and other DI algorithms) can't find light samples that align
well with very smooth, specular surfaces. However, specular GI does a
trace for these surfaces, which we can use to improve DI.

This PR uses the specular GI trace to light the specular lobe for smooth
surfaces, disabling DI on the specular lobe for them.

This PR:
<img width="1920" height="1032" alt="image"
src="https://github.com/user-attachments/assets/d7768779-6a57-4226-8d36-eefaf2a27df1"
/>

Previously:
<img width="1920" height="1032" alt="image"
src="https://github.com/user-attachments/assets/5b408160-a384-4f4b-8ae4-3c89812f75d3"
/>

Reference:
<img width="1920" height="1032" alt="image"
src="https://github.com/user-attachments/assets/089fdec5-17a4-4277-87b2-dd6d271ba1f6"
/>

---------

Co-authored-by: JMS55 <[email protected]>
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-Refinement Improves output quality, without fixing a clear bug or adding new functionality. S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants