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

Improving the screen space global illumination. #3330

Merged
merged 7 commits into from
Feb 15, 2021
Merged

Conversation

anisunity
Copy link
Contributor

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.

image

Copy link
Contributor

@remi-chapelain remi-chapelain left a 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)

5f3a7ff518f03a26f3859592416d54bd

78c28181633dff92befa828006f112b0

@anisunity
Copy link
Contributor Author

image

Copy link
Contributor

@remi-chapelain remi-chapelain left a 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.

⚠️ One concern/issue before approving for now is the upgrade of current projects; This might be an underlying issue of our volume system. Since the max clamped value for filter radius has increased, if you upgrade a project, you need to remove the override and re-add it for the max slider to be correct.

cc7c5d30dbca3c84d3d3e4e36a0c2196.mp4

Here's some example of the improvements.

4e99a10f57e9803ca690dc55317c57e1 (1)

e89289d5cc82738917fc5c5f814b9909

41685975ab633082bc6984503c9f1bf2

bb4c28295aa0e4887c2f0af281f15a20

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 !
69fe0be4ac5cf6be15493bc7af7f9f0b

Copy link
Contributor

@remi-chapelain remi-chapelain left a 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.

Copy link
Contributor

@remi-chapelain remi-chapelain left a 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 anisunity marked this pull request as ready for review February 12, 2021 10:34
@sebastienlagarde
Copy link
Contributor

@anisunity PR have conflict with Julien PR that have been merged, can you merge master? thanks
Also the Formatting job don't pass the PR need a formatting pass

@sebastienlagarde sebastienlagarde merged commit e7d621c into master Feb 15, 2021
@sebastienlagarde sebastienlagarde deleted the HDRP/wip-ssgi branch February 15, 2021 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants