Alpha Straight Vs Premultiplied

Hi,

I’m having a hard time figuring out how to set up the type of alpha to be rendered on the latest versions of Blender. I would like to know how to set up this for the Blender Internal as well as for Cycles. Any help is welcome.

Thanks.

You don’t, the internal framebuffer is always premultiplied. IIRC, it converts to straight alpha when saving certain formats that aren’t supposed to have premul, like .png.

Thanks J_the_Ninja, is there a place to see which formats converts into what? It’s quite obfuscated this way to tell how to control your alpha.

I can’t recall ever seeing a comprehensive list. OpenEXR is premultiplied, as the format spec says it always should be. I THINK that PNG is straight? I guess the simplest solution is to just always save EXRs out of Blender, but depending on disk space and what app you need the alpha channel in that is not always practical.

I always use OpenEXR (with or without MultiLayer) for everything up to, and including, “the final print.” FireWire or USB connected external disk drives are fast, cheap, big, and readily available … even at an office-supply store.

“Straight” alpha can be converted to “premul,” or vice-versa, without any data-loss: it is a “for convenience” mathematical operation that can be precisely applied and reversed at will. Unfortunately, there is no consistent metadata source available, to tell Blender “automagically” what to do, as we would of course prefer. You have to know, for each image source / file type, how alpha has been treated … and how it needs to be treated in the output.