TAA / FSR: shadow edges move / settle when an animated avatar part (e.g. a wing) passes in front of them #608
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#608
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
When part of an avatar moves quickly in front of a static shadow edge (a flapping wing, a waving arm, a tail), the shadow edge behind it visibly moves or "settles" for a moment after the moving part passes. It looks like the shadow edge crawls back into place over several frames.
Likely cause
The pixels the moving part uncovers, and the ones it covers, lose their temporal history in TAA / FSR. That happens through the disocclusion and reactive handling triggered by the avatar's motion vectors and the reactive / avatar mask. Without history, those pixels show the current frame's raw, undersampled shadow edge (jittered, and for ray-traced shadows 1 sample per pixel). They then re-converge over the history window, and that re-convergence is the visible settling.
Investigate
Possible fixes
Related: #85 (RT denoiser), #605 (per-pixel no-history mask; the same mask plumbing), #118 (motion blur before the resolve).
Shipped in 1.2.0 Beta 8 (and in 1.2.0): the RT shadow history is now SVGF-style, which fixed the shadow edges settling when an animated avatar part moves. Verified by the owner.