画像処理とコンピューター ビジョン用のグラフィックス ライブラリを作成したいと考えています。大きな画像ではアルゴリズムが非常に遅くなることがあるため、グラフィックス カードの PixelShader を使用してこれを実行したいと考えています。
私は C# でアプリケーションを作成しているため、DirectX ダイレクトを使用したくありません。XNA ライブラリを使用したいのは、これがそのようなことを単純に行うための唯一の方法であるためです。問題は、ライブラリを正しく設計する方法がわからないことです。
XNA には、作成用のウィンドウ ハンドルが必要なグラフィック デバイスが必要ですが (これをだます方法はありますか?)、呼び出し側プログラムのクラス設計 (たとえば、MVVM アプリケーションでは、モデルにはウィンドウ ハンドルがありません)。
もう 1 つは、シェーダーをエフェクトとしてロードする必要があることです。これは通常、コンテンツ マネージャーによって行われますが、これもクラス ライブラリの完璧なソリューションではないと思います (ここで、エフェクトをロードする別の方法はヘルプ)。
これらの最適ではない問題を解決する方法はありますか、または C# で画像処理にグラフィックス カードを使用する別の方法はありますか? 私の質問が明確であることを願っています。そうでない場合は、お知らせください。