Files
nixos/modules/desktop/shaders/grey.frag
2026-10-02 02:06:46 +02:00

19 lines
427 B
GLSL

#version 300 es
precision mediump float;
in vec2 v_texcoord;
uniform sampler2D tex;
out vec4 FragColor;
// Values obtained from: http://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
vec3 LumaFactors = vec3(0.299, 0.587, 0.114);
void main() {
vec4 c = texture(tex, v_texcoord);
// Desaturate to luma only
float luma = dot(vec3(c.r, c.g, c.b), LumaFactors);
FragColor = vec4(luma, luma, luma, c.a);
}