Sprite kit 带SpriteKit的定制CIFilter

Sprite kit 带SpriteKit的定制CIFilter,sprite-kit,core-image,cifilter,skeffectnode,Sprite Kit,Core Image,Cifilter,Skeffectnode,我正试图用SpriteKit实现我自己的自定义CIFilter。我想要实现的是使用自定义的CIFilter作为SKEffectNode上的过滤器 我编写了一个非常简单的测试过滤器(只返回像素值),它在QuartzComposer中运行良好 我随后编写了一个CIFilter子类,注册了过滤器,并提供了filterWithName和outputImage实现,以及初始化和初始化 但是,当我尝试在我的SKEffectNode上使用CIFilter时,我没有得到输出图像(只是一个空白图像-空白,如cle

我正试图用SpriteKit实现我自己的自定义
CIFilter
。我想要实现的是使用自定义的
CIFilter
作为
SKEffectNode
上的过滤器

我编写了一个非常简单的测试过滤器(只返回像素值),它在
QuartzComposer
中运行良好

我随后编写了一个
CIFilter
子类,注册了过滤器,并提供了
filterWithName
outputImage
实现,以及初始化和初始化

但是,当我尝试在我的
SKEffectNode
上使用
CIFilter
时,我没有得到输出图像(只是一个空白图像-空白,如
clearColor
中的填充)

我不认为我的
SKEffectNode
设置有任何问题,因为如果我切换到另一个(内置)的
CIFilter
一切正常

我也不认为.cikernel有任何问题,因为它在Quartz Composer中运行良好(而且它实际上只是一行从样本返回像素值…)

我在我的
CIFilter
子类的init和initialize中设置了断点,这两个类都被调用,内核被正确的代码字符串初始化,此后一切正常

然而,我的输出仍然是令人恼火的空白

是否有人成功地在
SKEffectNodes
上使用自定义
CIFilters

谢谢


编辑:忘了提到我确实调用了
[MyFilterSubclass]
在使用它之前对它进行初始化,我还在
-(CIImage*)outputImage
中设置了一个断点,它确实会被调用everyframe,所以看起来过滤器设置正确,并且每一帧都会计算一个结果,但是,
SKEffectNode
…不知何故没有使用该结果。。。帮助:(!

1.你在哪个平台上?Core Image只支持OS X上的自定义内核。2.你是否确保你的筛选器类在Sprite Kit之外工作?我在OSX 9上。检查该类是否在Sprite Kit之外工作很好,我没有想到!(duh!)将尝试并更新帖子(就在圣诞节之后:D)祝大家圣诞快乐!