CIFilterSpriteKit で独自のカスタムを実装しようとしています。私が達成したいのは、私のカスタムCIFilterを のフィルターとして使用することSKEffectNodeです。
非常に単純なテスト フィルター (ピクセル値を返すだけ) を作成しましたが、.NET で正常に動作しQuartzComposerます。
開発ガイドに従って、CIFilterサブクラスを作成し、フィルターを登録し、実装を提供filterWithNameしoutputImage、初期化と初期化を行いました。
ただし、 で を使用しようとするとCIFilter、SKEffectNode出力画像が得られません (空白の画像 -clearColor塗りつぶされた空白)。
SKEffectNode別の(組み込み)に切り替えると、CIFilterすべてが期待どおりに機能するため、セットアップに問題はないと思います。
また、.cikernel は Quartz Composer で正常に動作するため、問題はないと思います (また、サンプルから pixelValue を返すのは実際には 1 行だけです...)。
サブクラスの init と initialize にブレークポイントを設定するCIFilterと、両方が呼び出され、カーネルが正しいコード文字列で初期化され、それ以降はすべてうまくいきます。
しかし、私の出力は腹立たしいほど空白のままです...
custom CIFiltersonの使用に成功した人はいSKEffectNodesますか?
ありがとう!
編集:使用する前に初期化するために呼び出すことを忘れていました[MyFilterSubclass class]。また、ブレークポイントを設定し、-(CIImage *)outputImageフレームごとに呼び出されるため、フィルターが正しく設定され、フレームごとに結果を計算しているように見えますが、結果はどういうわけかSKEffectNode...ヘルプに使用されません:( !