2016-08-11 4 views
2

GPUImage2ライブラリを使用してリアルタイムでビデオをフィルタリングする次のコードブロックがあります。この考え方は、ボタンのクリックに基づいてこれらのフィルタを繰り返すことができるようにすることです。しかし、1つのフィルタのみが適用され、次のフィルタに試してみるたびに変化しません。ここに私の機能があります:GPUImage2がフィルタをリアルタイムで循環できない

func filterToggle() { 
    switch(filterSelected) { 
    case 0: 
     let sketch = SketchFilter() 
     camera! --> sketch --> renderView 
     break; 
    case 1: 
     let toon = ToonFilter() 
     camera! --> toon --> renderView 
     break; 
    default: 
     break; 
    } 
    camera?.startCapture() 
} 

ありがとうございました!

答えて

2

別のレンダリングに切り替える前に、前のフィルタをレンダリングビューアとカメラから切り離す必要があります。

新しいフィルタをチェーンに追加する前に、カメラと前のフィルタのremoveAllTargets()(前のフィルタを保存するインスタンス変数が必要な場合があります)を呼び出してください。 Mac版のFilterShowcaseはこれを実証しています。

関連する問題