From bead9f0b78380d1428f40fdab339c1c8f88fa626 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Thu, 2 Jul 2026 20:06:25 -0300 Subject: sdl ui backend --- shaders/ui.frag.glsl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 shaders/ui.frag.glsl (limited to 'shaders/ui.frag.glsl') diff --git a/shaders/ui.frag.glsl b/shaders/ui.frag.glsl new file mode 100644 index 00000000..2284fa0b --- /dev/null +++ b/shaders/ui.frag.glsl @@ -0,0 +1,18 @@ +#version 450 + +// Sample the glyph atlas (R = coverage 0..1) and mix the cell's bg up to its fg +// by that coverage. Fully opaque: the swapchain is SDR, no blending needed. + +layout(set = 2, binding = 0) uniform sampler2D u_atlas; + +layout(location = 0) in vec2 v_uv; +layout(location = 1) in vec3 v_fg; +layout(location = 2) in vec3 v_bg; + +layout(location = 0) out vec4 o_col; + +void main() { + float a = texture(u_atlas, v_uv).r; + vec3 col = mix(v_bg, v_fg, a); + o_col = vec4(col, 1.0); +} -- cgit v1.3