kinetic-slider
Version:
A WebGL-powered kinetic slider component using PIXI.js
36 lines (32 loc) • 1.21 kB
JavaScript
;
var pixiFilters = require('pixi-filters');
var ShaderResourceManager = require('../managers/ShaderResourceManager.cjs');
function createEmbossFilter(config) {
const shaderManager = ShaderResourceManager.ShaderResourceManager.getInstance();
const shaderKey = `emboss-filter-${config.strength || 5}`;
const filter = new pixiFilters.EmbossFilter(config.strength);
try {
shaderManager.registerFilter(filter, shaderKey);
} catch (error) {
console.warn("Error registering emboss filter with shader manager:", error);
}
const updateIntensity = (intensity) => {
const normalizedIntensity = Math.max(0, Math.min(10, intensity));
filter.strength = normalizedIntensity * 2;
};
updateIntensity(config.intensity);
const reset = () => {
filter.strength = config.strength !== void 0 ? config.strength : 5;
};
const dispose = () => {
try {
shaderManager.releaseFilter(filter, shaderKey);
} catch (error) {
console.warn("Error releasing emboss filter shader:", error);
}
filter.destroy();
};
return { filter, updateIntensity, reset, dispose };
}
exports.createEmbossFilter = createEmbossFilter;
//# sourceMappingURL=embossFilter.cjs.map