kinetic-slider
Version:
A WebGL-powered kinetic slider component using PIXI.js
33 lines (30 loc) • 989 B
JavaScript
import { AlphaFilter } from 'pixi.js';
import { ShaderResourceManager } from '../managers/ShaderResourceManager.js';
function createAlphaFilter(config) {
const shaderManager = ShaderResourceManager.getInstance();
const shaderKey = `alpha-filter`;
const filter = new AlphaFilter();
try {
shaderManager.registerFilter(filter, shaderKey);
} catch (error) {
console.warn("Error registering alpha filter with shader manager:", error);
}
const updateIntensity = (intensity) => {
filter.alpha = Math.max(0, Math.min(1, intensity / 10));
};
updateIntensity(config.intensity);
const reset = () => {
filter.alpha = 1;
};
const dispose = () => {
try {
shaderManager.releaseFilter(filter, shaderKey);
} catch (error) {
console.warn("Error releasing alpha filter shader:", error);
}
filter.destroy();
};
return { filter, updateIntensity, reset, dispose };
}
export { createAlphaFilter };
//# sourceMappingURL=alphaFilter.js.map