mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-30 15:31:34 +00:00
2d6ebbb4d5
This shader is an updated version of the mask shader, but I want to use the mask name for the mask node and that's a different functionality. Also, add an operation for it and partially implement the mask node using it, so we can test that this shader works. Replacing the shader used for text rendering is the next step.
21 lines
532 B
GLSL
21 lines
532 B
GLSL
#version 450
|
|
|
|
#include "common.frag.glsl"
|
|
#include "clip.frag.glsl"
|
|
#include "rect.frag.glsl"
|
|
|
|
layout(location = 0) in vec2 inPos;
|
|
layout(location = 1) in flat Rect inRect;
|
|
layout(location = 2) in vec2 inTexCoord;
|
|
layout(location = 3) in flat uint inTexId;
|
|
layout(location = 4) in flat vec4 inColor;
|
|
|
|
layout(location = 0) out vec4 color;
|
|
|
|
void main()
|
|
{
|
|
float alpha = inColor.a * rect_coverage (inRect, inPos);
|
|
alpha *= texture(get_sampler (inTexId), inTexCoord).a;
|
|
color = clip_scaled (inPos, vec4(inColor.rgb, 1) * alpha);
|
|
}
|