varying vec2 v_texCoord;

float rand(vec2 co){
    return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
void main()
{
    vec4 c = texture2D(CC_Texture0, v_texCoord);
    float randTime = mod(CC_Time[2], 10.0);
    if(randTime <  1.0 || (randTime >  4.0 && randTime <  6.0)){
        float rand2 = rand(v_texCoord);
        if(rand2 < 0.01){
            c.r = texture2D(CC_Texture0, v_texCoord + vec2(0.03, 0.0)).r;
            c.g = texture2D(CC_Texture0, v_texCoord).g;
            c.b = texture2D(CC_Texture0, v_texCoord + vec2(-0.04, 0.0)).b;
        }
    }
    
    // scanline
    //    c.rgb *= 0.8 + 0.2 * sin(0.1 * gl_FragCoord.y + CC_Time[2]);
    gl_FragColor = c;
}
