Hacker News new | ask | show | jobs
by im3w1l 1337 days ago
Gamma does however have an effect on blurring. And I suspect that because of gamma correction, applying a blur filter to a premultiplied image is (very subtly) incorrect.
2 comments

Yes, I think the possibilities, in practice, for bad interactions between gamma-related and alpha-related operations are real.

"PS3 does sRGB conversion before alpha-blending, so the blending is done in gamma space, which is not quite right."

https://tomforsyth1000.github.io/blog.wiki.html

Applying a blur filter to a premultiplied image is (very subtly) _correct_, at least if the goal is to emulate what happens if you used a physical lens to blur the same image. Not only does postmultiplied alpha mess up the correct pixel values (as the original post shows), but even without alpha, you get a “halo” that is weird and unphysical.
I think corysama had the right of it, you need to do all the operations in linear colors, i.e.

original image -> convert to linear color space -> multiply alpha -> blur -> composite -> possibly convert back to sRGB if needed

The wrong way I meant was

original image -> multiply alpha -> gamma-correct-blur -> composite

where gamma-correct-blur = convert to linear color space -> blur filter -> convert to sRGB