From 0448451bc285141b1920d9725593a8365b832744 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Mon, 9 Dec 2019 23:43:47 +1100 Subject: [PATCH] fixed alpha over algorithm and node recursion issue --- app/node/blend/alphaover/alphaover.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/node/blend/alphaover/alphaover.cpp b/app/node/blend/alphaover/alphaover.cpp index 0bd2f5592..17a10e11e 100644 --- a/app/node/blend/alphaover/alphaover.cpp +++ b/app/node/blend/alphaover/alphaover.cpp @@ -45,19 +45,26 @@ QString AlphaOverBlend::Description() const return tr("A blending node that composites one texture over another using its alpha channel."); } -QString AlphaOverBlend::Code() const +bool AlphaOverBlend::IsAccelerated() const +{ + return true; +} + +QString AlphaOverBlend::CodeFragment() const { return "#version 110" "\n" - "varying vec2 v_texcoord;\n" + "varying vec2 ove_texcoord;\n" "\n" "uniform sampler2D base_in;\n" "uniform sampler2D blend_in;\n" "\n" "void main(void) {\n" - " vec4 base_col = texture2D(base_in, v_texcoord);\n" - " vec4 blend_col = texture2D(blend_in, v_texcoord);\n" + " vec4 base_col = texture2D(base_in, ove_texcoord);\n" + " vec4 blend_col = texture2D(blend_in, ove_texcoord);\n" + " base_col *= 1.0 - blend_col.a;\n" + " base_col += blend_col;\n" " \n" - " gl_FragColor = base_col - blend_col.a + blend_col;\n" + " gl_FragColor = base_col;\n" "}\n"; }