https://git.spwbk.site/swatson/rs-rl/raw/master/resources/scanlines.fs
___________________________________
#version 330 core
out vec4 FragColor;

in vec2 TexCoords;

uniform sampler2D screenTexture;
uniform vec3 screenSize;
uniform bool screenBurn;

void main()
{
   vec3 col = texture(screenTexture, TexCoords).rgb;
   float scanLine = mod(gl_FragCoord.y, 2.0) * 0.25;
   vec3 scanColor = col.rgb - scanLine;

   if (col.r < 0.1f && col.g < 0.1f && col.b < 0.1f) {
       if (screenBurn) {
           float dist = (1.0 - distance(vec2(gl_FragCoord.x / screenSize.x, gl_FragCoord.y / screenSize.y), vec2(0.5,0.5))) * 0.2;
           FragColor = vec4(0.0, dist, dist, 1.0);
       } else {
           FragColor = vec4(0.0, 0.0, 0.0, 1.0);
       }
   } else {
       FragColor = vec4(scanColor, 1.0);
   }
}