WebGAL icon indicating copy to clipboard operation
WebGAL copied to clipboard

使pixi滤镜顺序固定或可控

Open HardyNLee opened this issue 8 months ago • 1 comments

遇到的问题

根据实际测试,滤镜加入顺序的不同会影响最终效果。 我在尝试给 WebGAL 添加更多滤镜时,偶然触发了滤镜顺序更换,进而导致最终效果天差地别,这在有“颜色调整”滤镜的情况下尤为明显,其顺序先后直接影响最终效果。

复现

新建一个默认工程,创建一个txt文件,并粘贴一下代码。

changeBg:bg.png -next;
changeFigure:stand.png -id=aaa;
setTransform:{"oldFilm":1,"rgbFilm":0} -target=aaa;
setTransform:{"oldFilm":1,"rgbFilm":1} -target=aaa;第一次开启两个滤镜
setTransform:{"oldFilm":0,"rgbFilm":1} -target=aaa;
setTransform:{"oldFilm":1,"rgbFilm":1} -target=aaa;第二次开启两个滤镜

可能的解决方案

  • 使 所有滤镜常驻固定顺序
  • 使 部分滤镜常驻 并根据常驻滤镜 划分阶段 ,让后加入的滤镜塞进常驻滤镜之间
  • 为滤镜添加 排序值(Sorting order),并根据排序值大小决定加入滤镜的顺序
    • 是否应该暴露参数,让用户自行决定滤镜顺序?

HardyNLee avatar May 03 '25 12:05 HardyNLee

除非确定有必要,我觉得没必要限制用户的创作能力,我的提议是将滤镜api完整暴露给用户,开发者省心,用户也不用在有需求的情况下用魔法解除限制 目前的命令有点历史包袱,如果可以的话给一个filters:[["FilterId",uniforms:{}]]或者叠加setFilter命令可能不错

ahzvenol avatar May 03 '25 13:05 ahzvenol