    uniform vec2 u_dimensions;

        in vec2 v_texCoord;
        out vec4 out_color;

        void main()
        {
            vec4 color = texture(u_image, v_texCoord);

            float luminance = 0.299 * color.r + 0.587 * color.g + 0.114 * color.b;

            out_color = vec4(vec3(luminance), color.a);
        }`;

    const FRAG_SOURCE_BLUR = `#version 300 es
        precision highp float;

        #define PIXEL_AT(_x, _y) (texture(u_image, v_texCoord + onePixel * vec2(_x, _y)))

        uniform