私の知る限り、FFT やパーリン ノイズなどの特定の数学関数は、GPU でピクセル シェーダーとして実行すると、はるかに高速になります。私の質問は、これを利用して結果を計算し、ビットマップにストリーミングしたい場合、Silverlight などで実際に表示する必要なく実行できるでしょうか?
より具体的には、パーリンやその他のノイズが多く含まれる大規模な地形の生成、およびハイパスや高さマップからの法線の導出などの後処理にこれを使用することを考えていました。
私の知る限り、FFT やパーリン ノイズなどの特定の数学関数は、GPU でピクセル シェーダーとして実行すると、はるかに高速になります。私の質問は、これを利用して結果を計算し、ビットマップにストリーミングしたい場合、Silverlight などで実際に表示する必要なく実行できるでしょうか?
より具体的には、パーリンやその他のノイズが多く含まれる大規模な地形の生成、およびハイパスや高さマップからの法線の導出などの後処理にこれを使用することを考えていました。
短い答えはイエスです。より長い答えは、(たとえば) テクスチャをレンダー ターゲットとして設定し、そこに結果をデポジットすることができるということです。
シェーダーを使用して計算を行うことに本当に慣れていない限り、Cuda や OpenCL など、この種のジョブ用に実際に設計されたものを使用することを検討することをお勧めします。
うーん、いい質問ですね。
表示できるものはすべて、のインスタンスWriteableBitmap
とそのRender
メソッドを使用してレンダリングできます。Pixels
バイト配列プロパティ を使用して出力にアクセスできます。
ただし(GPUアクセラレーションがオンになっていて、コンテンツがGPUを利用するように適切にマークされていると仮定して)、そのようなレンダリングが、WriteableBitmap
私が知らないディスプレイの代わりに行くときに実際にGPUを利用するかどうか。