1

openGL で画像を作成し、それを glReadPixels() で読み取ります。では、そのデータを分析したいと思います。各ピクセルで実行されるループを並列化し、その色を CUDA で確認したいと考えています。問題は、GPU から CPU にデータを渡し、再び GPU に渡す必要があることです。

CPU を介さずに glReadPixles() から CUDA にデータを渡す方法はありますか?

テクスチャ メモリは役に立ちますか?

4

1 に答える 1

2

CUDA-OpenGL 相互運用 APIを使用する必要があります。

グラフィックスとイメージングのセクションには、関心のある CUDA サンプル コードが多数あります。

最初に提案するのはガウスぼかしサンプルです。その中の処理フローは、あなたが説明しているものに近いと思うからです(表示直前の各ピクセルの変更)。

glReadPixelsデータが CPU に戻されるため、使用しません。代わりに、openGL オブジェクトを CUDA に登録して CUDA で操作できるようにし、表示する直前に登録を解除します。

于 2013-11-07T12:24:06.220 に答える