0

最初の投稿で最初の間違いをしないことを願っています。

いくつかのグラフィック効果とフィルター (たとえば、ソーベルまたはガウス マスク) のライブラリを作成しています。速度が遅いため、これを CPU で実行し、Shazzam ツールを使用していくつかのシェーダーを作成しました。

私の具体的な問題は、C# でこのシェーダーを使用できないことです。インターネットでは、ピクセルシェーダーを XAML の効果として要素に直接適用する方法のアドバイスしか見つかりませんでした。これは、私のアプリケーションでは使用できません。キャニー エッジ検出器。

この問題を説明するために、私がメソッドから期待するものを表示する必要がある小さな疑似コードを示します。

PixelShader somePixelShader  = new PixelShader(pixelshader.ps);
somePixelShader.Input = Bitmap;
somePixelShader.Height = 200;
somePixelShader.Width = 800;

somePixelShader.Execute();
Bitmap = somePixelShader.Result;

ご覧のとおり、すべて C# で行う必要があります。

おそらく、あなたは私の問題で私を助けることができます.

4

2 に答える 2

0

RenderTargetBitmapを使用して、現在のエフェクト出力のコピーをビットマップとして作成し、この出力イメージを次のエフェクト、リンス、リピートの新しい入力として送信できます。

更新: 小規模な (そして決定的な) テストの後、これは機能しません:ピクセル シェーダーを RenderTargetBitmap にレンダリングできません! 助けてください!

于 2012-07-16T19:39:36.720 に答える
0

これらのホワイト ペーパーで、WPF または SL でピクセル シェーダーをコンパイルして使用する方法の詳細な手順と例を確認してください。

また、WPF ピクセル シェーダー エフェクト ライブラリをこちらで確認することもできます。

于 2012-07-16T21:41:23.743 に答える