首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用pixi js混合使用两个自定义过滤器

使用pixi js混合使用两个自定义过滤器
EN

Stack Overflow用户
提问于 2020-10-30 18:10:14
回答 1查看 113关注 0票数 0

我正在尝试向sprite添加自定义滤镜,如下所示:

代码语言:javascript
运行
复制
sprite.filters = [
    new PIXI.Filter(undefined, SHADER_STRINGS["hue-rotate-shader-fs"], {
                    uHueShift: 90,              
                }),
            new PIXI.Filter(undefined, SHADER_STRINGS["contrast-shader-fs"], {
                    uContrast:50,                   
            }) 
            
                ];

但只应用filters数组中的最后一个。在前一种情况下,仅应用对比度,在此情况下:

代码语言:javascript
运行
复制
sprite.filters = [
    new PIXI.Filter(undefined, SHADER_STRINGS["contrast-shader-fs"], {
            uContrast:50,                   
    }) 
        new PIXI.Filter(undefined, SHADER_STRINGS["hue-rotate-shader-fs"], {
            uHueShift: 90,              
    }),
                
    ];

仅应用色调偏移。

请注意,这不会发生与内置过滤器,如模糊和噪声,因为我可以混合他们没有问题。

我的猜测是,最后一个着色器每次都会采用未接触的纹理。我可以做什么来解决这个问题,以便我可以添加多个过滤器到一个精灵在同一时间。

EN

回答 1

Stack Overflow用户

发布于 2021-05-18 03:05:38

我认为你的第二个frag着色器缺少一些东西,考虑你之前生成的颜色,特别是它在第二个frag着色器中的alpha通道,并根据它们的两个alpha通道将它们混合在一起。

我在PIXI@6.0.2中测试过,uSampler上总是有以前的过滤器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64606344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档