UNPKG

kinetic-slider

Version:

A WebGL-powered kinetic slider component using PIXI.js

47 lines (44 loc) 1.5 kB
import { CrossHatchFilter } from 'pixi-filters'; import { ShaderResourceManager } from '../managers/ShaderResourceManager.js'; function createCrossHatchFilter(config) { const shaderManager = ShaderResourceManager.getInstance(); const shaderKey = `cross-hatch-filter`; const filter = new CrossHatchFilter(); try { shaderManager.registerFilter(filter, shaderKey); } catch (error) { console.warn("Error registering cross hatch filter with shader manager:", error); } const updateIntensity = (intensity) => { const normalizedIntensity = Math.max(0, Math.min(10, intensity)); if ("alpha" in filter) { filter.alpha = normalizedIntensity / 10; } }; updateIntensity(config.intensity); const reset = () => { if ("alpha" in filter) { filter.alpha = config.alpha !== void 0 ? config.alpha : 1; } if ("enabled" in filter) { filter.enabled = config.enabled !== void 0 ? config.enabled : true; } if (config.intensity !== void 0) { updateIntensity(config.intensity); config.intensity > 0; } else { config.alpha !== void 0 ? config.alpha > 0 : false; } }; const dispose = () => { try { shaderManager.releaseFilter(filter, shaderKey); } catch (error) { console.warn("Error releasing cross hatch filter shader:", error); } filter.destroy(); }; return { filter, updateIntensity, reset, dispose }; } export { createCrossHatchFilter }; //# sourceMappingURL=crossHatchFilter.js.map