9
$\begingroup$

I'm having a heck of a time compositing numerous layers using the Alpha Over nodes in the compositor. I have done this many times before without a problem.

All the objects on each layer are ending up with alpha halos around them. The saved image (Targa, TIFF, PNG,etc.) all have semi-transparent halos around each layer's contents.

I've tried checking Convert Premul at each stage along the node tree trying to get the alphas to work correctly together but the checkbox seems to be having no effect at all.

Can anyone tell me what's up with this?

(Unfortunately, I can't post a .blend because it contains purchased models)

Thanks.

Halos Around Every Layer

I've uploaded a very simple .blend showing the same problem as well as a screen shot. The blend is here.

I understand what's happening (I think) in that each layer's edges are being anti-aliased against the black background, resulting in gray edges. But there must be a way to do what I'm trying to do here. I know I've done it before where the alphas are blended such that the gray halos aren't there.

Anyone know how I should be doing this? Simple .blend showing similar setup and problem.

$\endgroup$
3
  • $\begingroup$ Try enabling "Convert Premultiplied" on all your AlphaOver nodes. If this works, I'll explain. $\endgroup$
    – Greg Zaal
    Commented Apr 22, 2014 at 7:16
  • $\begingroup$ I've activated/deactivated Convert Premul in just about every possible combination, as I stated in the original question. The checkboxes have no effect whatsoever. $\endgroup$
    – D. Waschow
    Commented Apr 22, 2014 at 11:15
  • $\begingroup$ Polosson nailed it! FSA wasn't checked. I had set that to be checked by default in new .blends but must have turned it off and updated my default scene. Thanks a million! $\endgroup$
    – D. Waschow
    Commented Apr 22, 2014 at 17:44

2 Answers 2

2
$\begingroup$

The problem seems to comes from Anti-aliasing.

Try disable it (Render Panel) and see the result.

enter image description here

The "bad" thing is that your render won't be anti-aliased...

If you still want anti-aliasing, you can turn on Full Sample, but this will increase the render time significantly.

$\endgroup$
2
  • $\begingroup$ Any solution with that in cycles? Thanks. $\endgroup$
    – user11523
    Commented Feb 10, 2015 at 21:26
  • $\begingroup$ use an alpha converter node in compositing to make it premultiplied. $\endgroup$
    – Bithur
    Commented Feb 11, 2015 at 0:14
3
$\begingroup$

You have that problem because the alphas of each plate are correlated, as the foreground doesn't overlap the background, it masks it out.

Solving it is not super straight-forward but it's quite easy:

  • Add add the alpha channels of each layer together. Use a mix node with the "add" mode.

  • Add RGB plates together, same as above: mix node, "Add".

  • Use the "set alpha" node to assign the result of the added alphas to the result of the added RGB plates.

  • Profit :-)

The result will be properly combined with no halos or holes.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .