Fix #147372: Transparency does not work with VSE compositor modifier
If a VSE compositor modifier is used to do keying or introduce an alpha somehow to the image, the alpha is not used when blending. This is because the VSE evaluator assumes all modifiers except Mask could not introduce an alpha channel. So we need to extend the check to also make an exception for the compositor modifier. Pull Request: https://projects.blender.org/blender/blender/pulls/147456
This commit is contained in:
@@ -1831,8 +1831,11 @@ static bool is_opaque_alpha_over(const Strip *strip)
|
||||
return false;
|
||||
}
|
||||
LISTBASE_FOREACH (StripModifierData *, smd, &strip->modifiers) {
|
||||
/* Assume result is not opaque if there is an enabled Mask modifier. */
|
||||
if ((smd->flag & STRIP_MODIFIER_FLAG_MUTE) == 0 && smd->type == eSeqModifierType_Mask) {
|
||||
/* Assume result is not opaque if there is an enabled Mask or Compositor modifiers, which could
|
||||
* introduce alpha. */
|
||||
if ((smd->flag & STRIP_MODIFIER_FLAG_MUTE) == 0 &&
|
||||
ELEM(smd->type, eSeqModifierType_Mask, eSeqModifierType_Compositor))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user