Lua 尝试组合过滤器/效果时Corona SDK崩溃

Lua 尝试组合过滤器/效果时Corona SDK崩溃,lua,coronasdk,Lua,Coronasdk,我试图通过结合现有的和电晕模拟器的碰撞来创造新的效果 这是我的密码 graphics.defineEffect({ language = "glsl", category = "filter", name = "myEffect", graph = { gray = { effect = "filter.grayscale", input1 = "paint1" }, --final = { effect = "filter.con

我试图通过结合现有的和电晕模拟器的碰撞来创造新的效果

这是我的密码

graphics.defineEffect({
    language = "glsl",
    category = "filter",
    name = "myEffect",
    graph = {
        gray = { effect = "filter.grayscale", input1 = "paint1" },
        --final = { effect = "filter.contrast", input1 = "gray" },
    },
    output = "gray"
});

local rect = display.newRect(100, 100, 100, 100);
rect:setFillColor(1, 0, 0);
rect.fill.effect = "filter.myEffect";
还有关于过滤器参数的问题。如何在此示例中为过滤器对比度指定参数


谢谢

这最近也给我带来了麻烦。我发现可以通过在节点表中声明效果的图形定义来解决这个问题

我在下面介绍了解决方案和更正的语法

graphics.defineEffect({
    language = "glsl",
    category = "filter",
    name = "myEffect",
    graph = {
      nodes = {
         gray = { effect = "filter.grayscale", input1 = "paint1" }
         --final = { effect = "filter.contrast", input1 = "gray" },
      },
       output = "gray"
    }
})

local rect = display.newRect(100, 100, 100, 100);
rect:setFillColor(1, 0, 0);
rect.fill.effect = "filter.myEffect";
关于对比问题,请原谅我的误解,但这应该是一个可行的解决方案

graphics.defineEffect({
    language = "glsl",
    category = "filter",
    name = "myEffect",
    graph = {
      nodes = {
         gray = { effect = "filter.grayscale", input1 = "paint1" },
         final = { effect = "filter.contrast", input1 = "gray" }
      },
       output = "final"
    }
})

local rect = display.newRect(100, 100, 100, 100);
rect:setFillColor(1, 0, 0);
rect.fill.effect = "filter.myEffect";
rect.fill.effect.final.contrast = 2

这是一个很好的介绍

谢谢您的回答。我尝试了您编写的第二个代码,它可以工作,但形状是红色而不是灰色。这是有意的。尝试将对比度更改为0,以查看它而不产生效果。这回答了您的问题:为什么会崩溃,以及如何更改节点过滤器中的对比度参数。为了获得想要的效果,您必须对实现进行一些调整。到目前为止,你还可以问另一个问题。