View Full Version : straight vs pre-multiplied

12 December 2009, 03:39 PM
what is the difference between straight vs pre-multiplied alpha? In practice, I use these methods all the time in production. Usually I use pre-multiplied alpha interpretation in after effects to ensure that I get transparency on antialiased edges of 3-D rendered objects, but still I'm not sure I totally understand the difference.

What is happening behind the scenes with each of these methods?

Any information would be very much appreciated.

12 December 2009, 06:43 PM
Premultiplied means that the RGB values have been multiplied by the alpha of the image. The compositing software divides those pixels by the alpha in post. This can lead to inaccuracies along edges, especially when working with files that have the color values stored as fixed-point or integer instead of floating point. as far as I know, alpha premultiplication is done mostly for preview reasons for programs that don't post-multiply the alpha channel.

Straight alpha means no manipulation of the color channel occurs. This means that the edges bordering the alpha need to have a full color value in order for the edges to be displayed correctly. Viewing only the RGB channels without post-multiplying the colors by the alpha can be unsightly, but in general, compositing with these images is a bit more painless.

12 December 2009, 07:25 AM
Thank You! I think I have better understanding of this now.

12 December 2009, 01:59 PM
I'm not sure I understand the theory, but this is how it works for me in prod:

When I render an image with a black BG, I premultiply it with black in AE.

When I do the same with a white BG, I premultiply with white.

I usually use straight when I rendered with a background (for instance an image plane that you were using in the background to match the 3d with the color)

anyway, I turn off the background everytime when I render, and I leave nothing, so there you have a black BG that you will premultiply with black later.

When I use straight (because someone rendered with BG) it works, but sometimes it has problems with the edges, colored in some areas.

ah, all this assuming you are rendering 3d with alpha turned on

hope it helps in some way

CGTalk Moderation
12 December 2009, 01:59 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.