-
Notifications
You must be signed in to change notification settings - Fork 792
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
Improving the screen space global illumination. #3330
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spent some time testing it in various project (HDRP Template, Raytraceing Scene, Living in light, HDRP Automated test) and while this is better in terms of intensity and less subtle than what we have, it introduces unwanted artefacts and lighting in dark/corner areas.
This has been pair-reviewed with @anisunity and a new version with the possibility for the user to bypass the validity mask to blend the SSGI result will be added to accomodate if the user is using lightmaps or not.
Here are some example (Brighter image are after the PR, dimmer are before)
719e415
to
b2b93ba
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary :
Performance wise, The way the blur is done has changed and cost less, so the quality settings have been changed and filter radius have increased a bit. However, cost of SSGI is slightly lower than it was before the PR. So already an improvement.
In terms of intensity of the effects, some issue have been fixed and it's way better now, noise is also less present.
This can introduce more screen space artefacts, especially if you are at grazing angle (ex : on the left with the outside pillar scene) but this is a side effect of screen space features.
cc7c5d30dbca3c84d3d3e4e36a0c2196.mp4
Here's some example of the improvements.
9918e94e5498b66ec0ba781b1a9e19e2.mp4
Now that we don't blend with lightmaps at all, there can be some "holes" in SSGI, hopefully theses will be filled with Light Probes Volume v2 when it's ready !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated my previous comment, this is good on my side, already a big improvement over what we already have.
I just have the concern about the upgrade of some projects since the clamped range is serialized in the volume asset, you need to remove/re-add or reset the override for the min/max values to be updated. The quality settings still works but the UI is stuck with the old values.
Still approved and I'll report something about it since it's not related to this PR.
2ae4684
to
1cf0db0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made one last pass on it after the support of the light probe volume v2. Even though, it's super experimental at the moment, the two effects supports each other very well and give proper results.
The only thing that I'd like to be modified here before merging is documentation, since SSGI doesn't use a blending algorithm anymore and totally replaces lightmaps now, the same way RTGI does ,it can be interesting to understand that lightmaps won't help anymore.
Also could be great to add a bit about its intended usage/workflow to be sure that no ones expect only using SSGI will make magic and invent information it doesn't have.
Here's some quick test with the probe volume v2 :
bf10b826a9dfa59fd799e28171540d2a.1.mp4
1d8e891b376fd07415d4a046751a737d.mp4
@anisunity PR have conflict with Julien PR that have been merged, can you merge master? thanks |
e935424
to
6da5886
Compare
In this PR I tried to improve the screen space global illumination. The improvements need validation from @remi-chapelain. I also removed the depth thickness value from the UI.