diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-14 13:55:41 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-09-15 17:24:42 -0300 |
| commit | 95681ff7017b8a9e4c8f9fa6a7371d1233432f2f (patch) | |
| tree | 34787d6bb62944cc778624685387db7376ccf71b /shaders/image.frag.glsl | |
| parent | 682e237df7e8b22f820d14a4adee58e6e2f84268 (diff) | |
| download | pardes-95681ff7017b8a9e4c8f9fa6a7371d1233432f2f.tar.gz pardes-95681ff7017b8a9e4c8f9fa6a7371d1233432f2f.zip | |
9p: use cloud9 protocol sessions and transports
Diffstat (limited to 'shaders/image.frag.glsl')
| -rw-r--r-- | shaders/image.frag.glsl | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/shaders/image.frag.glsl b/shaders/image.frag.glsl index 2a3c2038..0cc1b2ee 100644 --- a/shaders/image.frag.glsl +++ b/shaders/image.frag.glsl @@ -1,6 +1,9 @@ #version 450 layout(set = 2, binding = 0) uniform sampler2D u_image; +layout(std140, set = 3, binding = 0) uniform UiUniforms { + float background_opacity; +} u_ui; layout(location = 0) in vec2 v_uv; layout(location = 1) in vec2 v_panel_uv; @@ -19,6 +22,9 @@ float cellNoise(uint serial, uint col, uint row) { void main() { vec4 source = texture(u_image, v_uv); + // Keep source coverage for destination subtraction; the pipeline scales + // source alpha by the same opacity through its alpha blend constant. + source.rgb *= clamp(u_ui.background_opacity, 0.0, 1.0); uint effect = v_effect.x & 0x7fffffffu; bool oldLayer = (v_effect.x & 0x80000000u) != 0u; float progress = clamp(uintBitsToFloat(v_effect.y), 0.0, 1.0); |
