dotfiles

My PC Dotfiles & Website

monochrome.frag (567B)


// Monochrome filter

#version 300 es
precision mediump float;

in vec2 v_texcoord;
uniform sampler2D tex;

out vec4 fragColor;

void main()
{
   vec4 pixColor = texture(tex, v_texcoord);

   // Check https://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems for which one to choose
   float lum = dot(pixColor.rgb, vec3(0.299, 0.587, 0.114)); // BT.601
   // float lum = dot(pixColor.rgb, vec3(0.2126, 0.7152, 0.0722)); // BT.709
   // float lum = dot(pixColor.rgb, vec3(0.2627, 0.6780, 0.0593)); // BT.2100

   fragColor = vec4(vec3(lum), pixColor.a);
}