私は 3D シミュレーション (今のところ 2D) に取り組んでいます。計算には CUDA を使用し、レンダリングには OpenGL を使用しています。私の質問は、CUDA と OpenGL の間の相互運用性に関するものです。私が見ている限り、これを行うには2つの一般的なアプローチがあります。
1 つ目は、CUDA グローバル メモリにマップされ、その後 OpenGL テクスチャにコピーされるピクセル バッファ オブジェクト (または頂点バッファ オブジェクト) を使用することです。これは非常に迅速なアプローチであると言われています。
2 番目は、テクスチャ オブジェクトを CUDA テクスチャ メモリに直接コピーすることです。テクスチャ キャッシングなどのすべてのテクスチャ メモリ機能を使用できるので、これも非常に素晴らしいことです。
では、これら 2 つのアプローチの一般的な違いについて説明してもらえますか? また、それぞれが通常どのような場合に使用されますか?