UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

1 lines 3.16 kB
{"version":3,"file":"generateBlurVertSource.mjs","sources":["../../../../../src/filters/defaults/blur/gl/generateBlurVertSource.ts"],"sourcesContent":["const vertTemplate = `\n in vec2 aPosition;\n\n uniform float uStrength;\n\n out vec2 vBlurTexCoords[%size%];\n\n uniform vec4 uInputSize;\n uniform vec4 uOutputFrame;\n uniform vec4 uOutputTexture;\n\n vec4 filterVertexPosition( void )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n\n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\n vec2 filterTextureCoord( void )\n {\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n }\n\n void main(void)\n {\n gl_Position = filterVertexPosition();\n\n float pixelStrength = uInputSize.%dimension% * uStrength;\n\n vec2 textureCoord = filterTextureCoord();\n %blur%\n }`;\n\n/**\n * @internal\n * @param kernelSize - The size of the kernel.\n * @param x - Whether to generate a horizontal or vertical blur program.\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% * pixelStrength, 0.0);';\n }\n else\n {\n template = 'vBlurTexCoords[%index%] = textureCoord + vec2(0.0, %sampleIndex% * pixelStrength);';\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 vertSource = vertSource.replace('%dimension%', x ? 'z' : 'w');\n\n return vertSource;\n}\n"],"names":[],"mappings":";AAAA,MAAM,YAAA,GAAe;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;AAyCd,SAAS,sBAAA,CAAuB,YAAoB,CAAA,EAC3D;AACI,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,IAAA,CAAK,UAAA,GAAa,CAAC,CAAA;AAE3C,EAAA,IAAI,UAAA,GAAa,YAAA;AAEjB,EAAA,IAAI,QAAA,GAAW,EAAA;AACf,EAAA,IAAI,QAAA;AAEJ,EAAA,IAAI,CAAA,EACJ;AACI,IAAA,QAAA,GAAW,qFAAA;AAAA,EACf,CAAA,MAEA;AACI,IAAA,QAAA,GAAW,qFAAA;AAAA,EACf;AAEA,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,UAAA,EAAY,CAAA,EAAA,EAChC;AACI,IAAA,IAAI,OAAO,QAAA,CAAS,OAAA,CAAQ,SAAA,EAAW,CAAA,CAAE,UAAU,CAAA;AAEnD,IAAA,IAAA,GAAO,KAAK,OAAA,CAAQ,eAAA,EAAiB,GAAG,CAAA,IAAK,UAAA,GAAa,EAAE,CAAA,EAAA,CAAI,CAAA;AAEhE,IAAA,QAAA,IAAY,IAAA;AACZ,IAAA,QAAA,IAAY,IAAA;AAAA,EAChB;AAEA,EAAA,UAAA,GAAa,UAAA,CAAW,OAAA,CAAQ,QAAA,EAAU,QAAQ,CAAA;AAClD,EAAA,UAAA,GAAa,UAAA,CAAW,OAAA,CAAQ,QAAA,EAAU,UAAA,CAAW,UAAU,CAAA;AAC/D,EAAA,UAAA,GAAa,UAAA,CAAW,OAAA,CAAQ,aAAA,EAAe,CAAA,GAAI,MAAM,GAAG,CAAA;AAE5D,EAAA,OAAO,UAAA;AACX;;;;"}