This weekend I added motion blur in my engine. Initially I didn't want to have this effect at all. Usually I find it ugly/noisy and makes me a bit sick. There is one game however where I actually like it: Syndicate (2012) !
In this game, the effect is only based on the camera motion, and only when moving very fast. So it triggers only in specific conditions, and doesn't impact gameplay much.
So that's what I did !
I went with the same idea: camera based only, no per-pixel velocity buffer computation at all. It's cheap also, I render it at half-resolution then composite it back up.
I generate mips and use textureGrad with anisotropy to make it a non-uniform blur, needing only 7 taps per pixel.
Final result is really good, and cost 0.4ms (downsample, mip, effect, blit back up).
@froyok ohdear this looks beautiful; do you have video of it as well? 👁️
@jalict Not yet ! I will make one once I'm home ! :D