// Tritanopia -- blue-blind. // // Panama's accessibility color filters. Selected by the `colorFilter` // preference; hypr/looks.lua maps the enum to this path at config time and // services/SystemSettings.qml does the same live. // // Same family of matrices as protanopia.frag, weighted for the missing blue // cone. See that file for why this is a correction rather than a simulation, // and for the column-major note. #version 300 es precision mediump float; in vec2 v_texcoord; layout(location = 0) out vec4 fragColor; uniform sampler2D tex; const mat3 tritanopia = mat3( 0.950, 0.000, 0.000, 0.050, 0.433, 0.475, 0.000, 0.567, 0.525 ); void main() { vec4 pixColor = texture(tex, v_texcoord); fragColor = vec4(clamp(tritanopia * pixColor.rgb, 0.0, 1.0), pixColor.a); }