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$
  • $\begingroup$ Try enabling "Convert Premultiplied" on all your AlphaOver nodes. If this works, I'll explain. $\endgroup$ – Greg Zaal Apr 22 '14 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 Apr 22 '14 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 Apr 22 '14 at 17:44
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$
  • $\begingroup$ Any solution with that in cycles? Thanks. $\endgroup$ – user11523 Feb 10 '15 at 21:26
  • $\begingroup$ use an alpha converter node in compositing to make it premultiplied. $\endgroup$ – Bithur Feb 11 '15 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$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.