

////////////////////////////////////////////////////////////////////////////////////////////////////////////

const vec3 factor = vec3(0.299, 0.587, 0.114);

void mainImage( out vec4 fragColor, in vec2 fragCoord ) {
    vec2 uv = fragCoord / iResolution.xy;
    
    vec4 c0 = texture2D(iChannel[0], uv);
    vec4 c1 = texture2D(iChannel[1], uv);
    
    float luma = dot(c1.rgb, factor);

    if(luma > 0.0){
        fragColor = mix(c0, c1 / luma, luma);
    } else {
        fragColor = c0;
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////

void main() {
    mainImage(gl_FragColor, gl_FragCoord.xy);
}
