1

これが適切なフォーラムかどうかはわかりません。とにかくここで質問です。アプリケーションの 1 つで、医用画像を表示し、その上にアルゴリズムで生成されたビットマップを表示します。実際のビットマップは 16 ビットのグレー スケール ビットマップです。これから、ルックアップテーブルに基づいてカラービットマップを生成します。

(0-100)->green 
(100-200)->blue
(200>above)->red

ディスプレイは、256x256 の小さな画像でうまく機能しています。しかし、表示領域が 1024x1024 のように大きくなると、グレー スケールからカラー ビットマップへの変換に時間がかかり、インタラクションがスムーズではなくなります。最近、汎用 GPU プログラミングについてよく耳にします。私たちの展開では、ハイエンド (Nvidia QuadroFX) グラフィックス カードを使用しています。

私たちのアプリケーションは、必要に応じて .Net/C# を使用して構築されています。C++/CLI も少し追加できます。ここで私の質問は、このビットマップ変換をグラフィック プロセッサにオフロードできるかどうかです。さらに読むにはどこを探すべきですか?

4

1 に答える 1

1

はい。(明らかに) ビットマップを表示しているので、GPGPU ルート (OpenCL や CUDA など) を使用する必要はありません。プログラム可能なシェーダーを使用できます。あなたの言っていることが理解できれば、それはかなり簡単なことです。

シェーダーの書き方に関しては、(ほとんどの場合) 残りの描画をどのように行っているかによって異なります。明らかな例として、描画に既に WPF を使用している場合は、おそらく HLSL シェーダーを使用することをお勧めします (WPF はピクセル シェーダーをかなり直接的にサポートします)。

また、古いハードウェアをサポートする必要がある場合、このようなテーブル ルックアップは、プログラマブル シェーダーがなくても、実際には GPU で非常に簡単に管理できることにも注意してください。ただし、最近のハードウェアのみをサポートする必要がある限り、シェーダーはおそらくより単純になります。

于 2010-10-14T03:40:37.480 に答える