Skip to content

Fix wobble-like (or tearing-like) SSAO issues when temporal reprojection is enabled.#4895

Merged
sebastienlagarde merged 3 commits into
hd/bugfixfrom
HDRP/investigate-ao-wobble
Jun 17, 2021
Merged

Fix wobble-like (or tearing-like) SSAO issues when temporal reprojection is enabled.#4895
sebastienlagarde merged 3 commits into
hd/bugfixfrom
HDRP/investigate-ao-wobble

Conversation

@FrancescoC-unity

Copy link
Copy Markdown
Contributor

Fix for https://fogbugz.unity3d.com/f/cases/1341704/

The issue was due to the fact that history was loaded, so we might have got some discontinuities at the threshold between a texel and another being sampled (e.g. 10.49 and 10.51), because this was delicate it would end up looking as moving moving lines.

Depending the motion characteristic, that ends up looking a bit like a wobble effect (as the motion settles down).

To solve the issue I had to change the format used for the history texture (from UINT 32 to RGBA8_UNorm, so same size and bw cost) and change how history data is packed. Once this is done, it is possible to use a linear sampler to get the data and get rid of straight lines and the wobble.

There was also a bug with AOBufferSize being half a texel wrong if the source resolution was odd, leading to various visual imprecisions. This PR fixes that too.

Before

wobblyAO.mp4

After

noWobble.mp4

Loading
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.

3 participants