{"version":3,"file":"generateBlurVertSource.mjs","sources":["../src/generateBlurVertSource.ts"],"sourcesContent":["const vertTemplate = `\n    attribute vec2 aVertexPosition;\n\n    uniform mat3 projectionMatrix;\n\n    uniform float strength;\n\n    varying vec2 vBlurTexCoords[%size%];\n\n    uniform vec4 inputSize;\n    uniform vec4 outputFrame;\n\n    vec4 filterVertexPosition( void )\n    {\n        vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n        return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n    }\n\n    vec2 filterTextureCoord( void )\n    {\n        return aVertexPosition * (outputFrame.zw * inputSize.zw);\n    }\n\n    void main(void)\n    {\n        gl_Position = filterVertexPosition();\n\n        vec2 textureCoord = filterTextureCoord();\n        %blur%\n    }`;\n\nexport function generateBlurVertSource(kernelSize: number, x: boolean): string\n{\n    const halfLength = Math.ceil(kernelSize / 2);\n\n    let vertSource = vertTemplate;\n\n    let blurLoop = '';\n    let template;\n\n    if (x)\n    {\n        template = 'vBlurTexCoords[%index%] =  textureCoord + vec2(%sampleIndex% * strength, 0.0);';\n    }\n    else\n    {\n        template = 'vBlurTexCoords[%index%] =  textureCoord + vec2(0.0, %sampleIndex% * strength);';\n    }\n\n    for (let i = 0; i < kernelSize; i++)\n    {\n        let blur = template.replace('%index%', i.toString());\n\n        blur = blur.replace('%sampleIndex%', `${i - (halfLength - 1)}.0`);\n\n        blurLoop += blur;\n        blurLoop += '\\n';\n    }\n\n    vertSource = vertSource.replace('%blur%', blurLoop);\n    vertSource = vertSource.replace('%size%', kernelSize.toString());\n\n    return vertSource;\n}\n"],"names":[],"mappings":"AAAA,MAAM,YAAe,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAA,CAAA,CAAA;AAgCd,SAAA,sBAAA,CAAgC,YAAoB,CAC3D,EAAA;AACI,EAAA,MAAM,UAAa,GAAA,IAAA,CAAK,IAAK,CAAA,UAAA,GAAa,CAAC,CAAA,CAAA;AAE3C,EAAA,IAAI,UAAa,GAAA,YAAA,CAAA;AAEjB,EAAA,IAAI,QAAW,GAAA,EAAA,CAAA;AACf,EAAI,IAAA,QAAA,CAAA;AAEJ,EAAA,IAAI,CACJ,EAAA;AACI,IAAW,QAAA,GAAA,gFAAA,CAAA;AAAA,GAGf,MAAA;AACI,IAAW,QAAA,GAAA,gFAAA,CAAA;AAAA,GACf;AAEA,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,EAAY,CAChC,EAAA,EAAA;AACI,IAAA,IAAI,OAAO,QAAS,CAAA,OAAA,CAAQ,SAAW,EAAA,CAAA,CAAE,UAAU,CAAA,CAAA;AAEnD,IAAA,IAAA,GAAO,KAAK,OAAQ,CAAA,eAAA,EAAiB,CAAG,EAAA,CAAA,iBAAkB,CAAM,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAEhE,IAAY,QAAA,IAAA,IAAA,CAAA;AACZ,IAAY,QAAA,IAAA,IAAA,CAAA;AAAA,GAChB;AAEA,EAAa,UAAA,GAAA,UAAA,CAAW,OAAQ,CAAA,QAAA,EAAU,QAAQ,CAAA,CAAA;AAClD,EAAA,UAAA,GAAa,UAAW,CAAA,OAAA,CAAQ,QAAU,EAAA,UAAA,CAAW,UAAU,CAAA,CAAA;AAE/D,EAAO,OAAA,UAAA,CAAA;AACX;;;;"}