特定のシーンをオフスクリーンフレームバッファー(FBO)にレンダリングしglReadPixels()
てから、CPUでの処理に使用してレンダリングされた画像を読み取っています。処理には、いくつかの非常に単純なスキャンルーチンとデータの抽出が含まれます。
プロファイリングを行った後、私のアプリケーションが行うことのほとんどはglReadPixels()
、時間の50%以上に時間を費やしていることに気付きました。したがって、自然な手順は、データをコピーする必要がないように、処理をGPUに移動することです。
だから私の質問は-GPUにそのようなものをプログラムするための最良の方法は何でしょうか?
GLSL?
CUDA?
私が現在気付いていない他の何か?
主な要件は、レンダリングされたオフスクリーンフレームバッファ(またはテクスチャにレンダリングできるため、テクスチャデータ)にアクセスでき、CPUに情報を出力できることです(たとえば、1の順序で)。 -フレームあたり2Kb。