gstreamer/subprojects/gst-plugins-good/ext/qt6/RGBA.frag

24 lines
528 B
GLSL

#version 440
layout(location = 0) in vec2 vTexCoord;
layout(location = 0) out vec4 fragColor;
layout(std140, binding = 0) uniform buf {
mat4 qt_Matrix;
ivec4 swizzle;
mat4 color_matrix;
float qt_Opacity;
} ubuf;
layout(binding = 1) uniform sampler2D tex;
vec4 swizzle(in vec4 texel, in ivec4 swizzle) {
return vec4(texel[swizzle[0]], texel[swizzle[1]], texel[swizzle[2]], texel[swizzle[3]]);
}
void main()
{
vec4 texel = swizzle(texture(tex, vTexCoord), ubuf.swizzle);
fragColor = texel * ubuf.qt_Opacity;
}