Skip to content

fix: TAA resolve premultiplied alpha for transparent clears (#8654)#8726

Merged
mvaligursky merged 2 commits into
mainfrom
mv-fix-taa-alpha-8654
May 14, 2026
Merged

fix: TAA resolve premultiplied alpha for transparent clears (#8654)#8726
mvaligursky merged 2 commits into
mainfrom
mv-fix-taa-alpha-8654

Conversation

@mvaligursky
Copy link
Copy Markdown
Contributor

Fixes #8654

TAA resolve now clamps and temporally blends in premultiplied `rgb * a` space, then un-premultiplies using the current frame alpha only (alpha is not averaged over time). This addresses coloured fringes and alpha-related ghosting when using transparent camera clears with `CameraFrame` TAA (`antialias: false`, `alpha: true`).

Changes:

  • GLSL and WGSL `taaResolve` chunk: premultiplied neighbourhood clamp, premul temporal mix, straight RGB output with current α; inline comments explaining the premul domain
  • Hidden test example `test/taa-alpha` (with controls) and sidebar thumbnails

API changes: None

Examples: `test/taa-alpha` (hidden)

Temporal blend and neighborhood clamp in premultiplied rgb*a space;
output alpha from current frame only. Adds hidden test example and
thumbnails.
@mvaligursky mvaligursky merged commit a8773f9 into main May 14, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-fix-taa-alpha-8654 branch May 14, 2026 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TAA breaks transparent background with clear alpha = 0, final screen alpha always 1.0

1 participant