From 5b40ac154840d25e116275132f1a8c63a467b314 Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Mon, 20 Mar 2023 10:27:30 -0700 Subject: [PATCH] mask: handle alpha channel too when inverting --- app/node/distort/mask/mask.cpp | 2 +- app/shaders/invertrgba.frag | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 app/shaders/invertrgba.frag diff --git a/app/node/distort/mask/mask.cpp b/app/node/distort/mask/mask.cpp index 1dc0acb49..71e789e4e 100644 --- a/app/node/distort/mask/mask.cpp +++ b/app/node/distort/mask/mask.cpp @@ -47,7 +47,7 @@ ShaderCode MaskDistortNode::GetShaderCode(const ShaderRequest &request) const } else if (request.id == QStringLiteral("feather")) { return ShaderCode(FileFunctions::ReadFileAsString(QStringLiteral(":/shaders/blur.frag"))); } else if (request.id == QStringLiteral("invert")) { - return ShaderCode(FileFunctions::ReadFileAsString(QStringLiteral(":/shaders/invertrgb.frag"))); + return ShaderCode(FileFunctions::ReadFileAsString(QStringLiteral(":/shaders/invertrgba.frag"))); } else { return super::GetShaderCode(request); } diff --git a/app/shaders/invertrgba.frag b/app/shaders/invertrgba.frag new file mode 100644 index 000000000..05d25345f --- /dev/null +++ b/app/shaders/invertrgba.frag @@ -0,0 +1,12 @@ +// Input texture +uniform sampler2D tex_in; + +// Input texture coordinate +in vec2 ove_texcoord; +out vec4 frag_color; + +void main() { + vec4 color = texture(tex_in, ove_texcoord); + color = 1.0 - color; + frag_color = color; +}