gtk/gsk/vulkan/resources/glyph.frag
Benjamin Otte 2d6ebbb4d5 vulkan: Add a glyph shader
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.
2023-07-16 12:12:59 +02:00

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);
}