the Twarchive

This is a record of a twitter thread, originally posted in 2022

Thew
@AmazingThew

hey Computer Graphics Twitter: anyone know a good trick for using reprojection/accumulation to do big screenspace blurs? Every technique I know about only works for TAA, which solves a different problem

Thew
@AmazingThew

Context: First image is a 1-tap gaussian blur lmao (importance sampling is basically magic)

Second image: Can improve results by accumulating reprojected samples from prev frames

Third image: Reprojection with movement is VERY hard. Most TAA tricks don't work here

Thew
@AmazingThew

None of the usual tricks work here

Depth rejection won't work bc we WANT to blur across discontinuities

Neighborhood clamping won't work bc the "neighborhood" needs to come from the BLURRED image, which doesn't exist yet

The image is blurred but the depth/motion buffers aren't

Thew
@AmazingThew

I'm definitely not the first person to try this, but it's very hard to search for papers/prior work

all the good solutions are probably locked up in some black-box vendor-specific denoising libraries huh

Thew
@AmazingThew

also not the point of the thread but: I am unreasonably proud of this 1-tap blur lol

with importance sampling and enough care put into distributing sample locations over space+time you can get absurdly good results from even 1 sample per pixel