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

32 lines (29 loc) 1.03 kB
import { GAUSSIAN_VALUES } from '../const.mjs'; "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 = 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()); } export { generateBlurFragSource }; //# sourceMappingURL=generateBlurFragSource.mjs.map