Re: Arena 6 multiply blend mode fade problem
Posted: Mon Aug 20, 2018 14:50
The reason why this works in v5 is that in v5 the transition's phase actually affects the layer mixer's opacity. We had to change this and turn the transition into a mixer on it's own because we have different 'kinds' of mixers that were not unitable otherwise and would've never resulted into a correctly composited image. I don't know if you remember, but we've had some 'pops' in v5 when alpha transitions were involved. We had to change this to fix that.
Having said that, i do think that the multiply mixer is currently broken.
I've been working a lot with premultiplied colors lately because i discovered that a lot of our mixers/effects/generators weren't handling premultiplied colors properly. An issue that pops up every now and then is where a color's transparency is considered as part of the color itself, while in fact it's not related to color at all. In terms of the multiply mixer, it's currently doing a naive component wise multiplication (f(a,b) = ab if you will). The problem here is that it's not respecting b's opacity to be a factor of the function.
I think what you guys instead want is for transparency in the destination texture to be treated as 'there's nothing here to multiply with' rather than 'there's nothing here, so multiply with the premultiplication color (which happens to be black)'
When Joris gets back i'll discuss the options with him. We'll need to make a choice if we want to modify the current multiply behaviour or if we should create a new one.
Having said that, i do think that the multiply mixer is currently broken.
I've been working a lot with premultiplied colors lately because i discovered that a lot of our mixers/effects/generators weren't handling premultiplied colors properly. An issue that pops up every now and then is where a color's transparency is considered as part of the color itself, while in fact it's not related to color at all. In terms of the multiply mixer, it's currently doing a naive component wise multiplication (f(a,b) = ab if you will). The problem here is that it's not respecting b's opacity to be a factor of the function.
I think what you guys instead want is for transparency in the destination texture to be treated as 'there's nothing here to multiply with' rather than 'there's nothing here, so multiply with the premultiplication color (which happens to be black)'
When Joris gets back i'll discuss the options with him. We'll need to make a choice if we want to modify the current multiply behaviour or if we should create a new one.