diff --git a/effects/internal/blending.frag b/effects/internal/blending.frag index 9a3a0883a..b211aa801 100644 --- a/effects/internal/blending.frag +++ b/effects/internal/blending.frag @@ -200,7 +200,7 @@ void main(void) { vec4 full_composite = vec4(composite + bg_color.rgb*(1.0-alpha_opac), bg_color.a + fg_color.a); // vec4 full_composite = vec4(mix(bg_color.rgb, composite, alpha_opac), bg_color.a + alpha_opac); - // full_composite = mix(bg_color, full_composite, alpha_opac); + full_composite = mix(bg_color, full_composite, alpha_opac); // output to color gl_FragColor = full_composite; diff --git a/effects/internal/crossdissolvetransition.cpp b/effects/internal/crossdissolvetransition.cpp index f792b379a..8cc93fe16 100644 --- a/effects/internal/crossdissolvetransition.cpp +++ b/effects/internal/crossdissolvetransition.cpp @@ -8,11 +8,9 @@ CrossDissolveTransition::CrossDissolveTransition(Clip* c, Clip* s, const EffectM // add_row("Smooth")->add_field(EFFECT_FIELD_BOOL, "smooth"); } -void CrossDissolveTransition::process_coords(double progress, GLTextureCoords&, int data) { +void CrossDissolveTransition::process_coords(double progress, GLTextureCoords& coords, int data) { if (!(data == TA_CLOSING_TRANSITION && secondary_clip != nullptr)) { - float color[4]; - glGetFloatv(GL_CURRENT_COLOR, color); if (data == TA_CLOSING_TRANSITION) progress = 1.0 - progress; - glColor4f(1.0, 1.0, 1.0, color[3]*progress); + coords.opacity *= progress; } }