I'm still quite confused by difference between pre and post-multiplied alpha. What does it mean by 50% blue pixels in this slide? Where did they come from?

RakTheCroc

When we composite onto the yellow background, why does the alpha over not pick up the yellow pixels?

supernova

My understanding is that after interpolating color and alpha seperately in non-premultiplied alpha, the final step should still be multiplying the interpolated color and alpha. For example, let's say the interpolated color is 0.5 red and the interpolated alpha is 0.5, then the final color will be 0.25 red which is just like blending with 0.75 black that makes fringes. Is that make sense?

KrystalTea

I'm also confused with "e.g. 50% blue pixels using 50% alpha, rather than, say, 100% blue pixels with 50% alpha". Could someone please help me further explain this? Thanks very much!

wdc

Is the black fringe a result of the black background on the blue circle image? Or is the blending artifact always black when it happens?

tiffany2

How severe can the issue of fringing get? I guess I could barely notice it in the previous slide.

jasonx

I'm still confused too. Is it due to the black background?

qiqinl

In this slide, you are interpolating between an opaque blue and a transparent black(background).

Without pre multiplication: (0, 0, 1)(blue) with alpha = 1 interpolates (0, 0, 0)(black) with alpha = 0. You get (0, 0, 0.5)(deep blue) with alpha = 0.5. Black fringe occured!

With pre multiplication: (0, 0, 1, 1) interpolates (0, 0, 0, 0), and you get (0, 0, 0.5, 0.5). But (0, 0, 0.5, 0.5) is not (0, 0, 0.5) with alpha = 0.5(what you get above)! Instead, because premultiplied color has the form (ar, ag, ab, a), (0, 0, 0.5, 0.5) is actually (0, 0, 1)(blue) with alpha = 0.5! Therefore, the fringe disappeared!

Lavender

Thanks for the clarification, @qiqinl

jasonx

Ok the fringe occurred because both the color and alpha is reduced?

I'm still quite confused by difference between pre and post-multiplied alpha. What does it mean by 50% blue pixels in this slide? Where did they come from?

When we composite onto the yellow background, why does the alpha over not pick up the yellow pixels?

My understanding is that after interpolating color and alpha seperately in non-premultiplied alpha, the final step should still be multiplying the interpolated color and alpha. For example, let's say the interpolated color is 0.5 red and the interpolated alpha is 0.5, then the final color will be 0.25 red which is just like blending with 0.75 black that makes fringes. Is that make sense?

I'm also confused with "e.g. 50% blue pixels using 50% alpha, rather than, say, 100% blue pixels with 50% alpha". Could someone please help me further explain this? Thanks very much!

Is the black fringe a result of the black background on the blue circle image? Or is the blending artifact always black when it happens?

How severe can the issue of fringing get? I guess I could barely notice it in the previous slide.

I'm still confused too. Is it due to the black background?

In this slide, you are interpolating between an opaque blue and a transparent black(background).

Without pre multiplication: (0, 0, 1)(blue) with alpha = 1 interpolates (0, 0, 0)(black) with alpha = 0. You get (0, 0, 0.5)(deep blue) with alpha = 0.5. Black fringe occured!

With pre multiplication: (0, 0, 1, 1) interpolates (0, 0, 0, 0), and you get (0, 0, 0.5, 0.5). But (0, 0, 0.5, 0.5) is not (0, 0, 0.5) with alpha = 0.5(what you get above)! Instead, because premultiplied color has the form (ar, ag, ab, a), (0, 0, 0.5, 0.5) is actually (0, 0, 1)(blue) with alpha = 0.5! Therefore, the fringe disappeared!

Thanks for the clarification, @qiqinl

Ok the fringe occurred because both the color and alpha is reduced?

http://amindforeverprogramming.blogspot.com/2013/07/why-alpha-premultiplied-colour-blending.html