Make Movit work in premultiplied alpha.
authorSteinar H. Gunderson <>
Mon, 14 Jan 2013 01:27:35 +0000 (02:27 +0100)
committerSteinar H. Gunderson <>
Mon, 14 Jan 2013 01:27:35 +0000 (02:27 +0100)
Make Movit work in premultiplied alpha.

This is a pretty big change, even though the most visible change right now
is that OverlayEffect looks better in the edges of upscaled material
(which you won't really notice too much, given that our handling of
different resolutions already sucks). Since most material is going to
assume postmultiplied alpha, we need to track the status around the graph
pretty much as we already do with gamma and colorspaces, so it's quite
a lot of new code (and associated test complexity). It really does look
better, though.

Negative sides: MixEffect has gotten less flexible since it now also
handles the alpha; for instance, you can't really use it to subtract
things the same way anymore. Also, I think the glow effect has been broken by
the changes to MixEffect, so I'll need to fix it and then add a test so it
doesn't break again.
alpha_division_effect.cpp [new file with mode: 0644]
alpha_division_effect.frag [new file with mode: 0644]
alpha_division_effect.h [new file with mode: 0644]
alpha_division_effect_test.cpp [new file with mode: 0644]
alpha_multiplication_effect.cpp [new file with mode: 0644]
alpha_multiplication_effect.frag [new file with mode: 0644]
alpha_multiplication_effect.h [new file with mode: 0644]
alpha_multiplication_effect_test.cpp [new file with mode: 0644]
blue.frag [new file with mode: 0644]