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">

34 lines (30 loc) 1.06 kB
'use strict'; var _const = require('../const.js'); "use strict"; const fragTemplate = [ "in vec2 vBlurTexCoords[%size%];", "uniform sampler2D uTexture;", "out vec4 finalColor;", "void main(void)", "{", " %blur%", "}" ].join("\n"); function generateBlurFragSource(kernelSize) { const kernel = _const.GAUSSIAN_VALUES[kernelSize]; const halfLength = kernel.length; let blurLoop = ""; const prefixFirst = "finalColor = "; const prefixRest = " + "; const template = "texture(uTexture, vBlurTexCoords[%index%]) * %value%"; for (let i = 0; i < kernelSize; i++) { const prefix = i === 0 ? prefixFirst : prefixRest; const value = i < halfLength ? i : kernelSize - i - 1; const blur = template.replace("%index%", i.toString()).replace("%value%", kernel[value].toString()); blurLoop += `${prefix}${blur} `; } return fragTemplate.replace("%blur%", `${blurLoop};`).replace("%size%", kernelSize.toString()); } exports.generateBlurFragSource = generateBlurFragSource; //# sourceMappingURL=generateBlurFragSource.js.map