7

opengl 仕様 4.0 によると、glDrawPixels は非推奨です。

cuda の相互運用性のためには、「opengl バッファ オブジェクト」を使用するのが最善のようです。(代替手段はテクスチャまたはサーフェスである可能性がありますが、これらにはキャッシュ/同時実行の問題があるため、私の cuda カーネルでは使用できません)。

このマップされたopenglバッファオブジェクトを使用し、それを「ピクセル配列」またはピクセルを保持するメモリの一部として使用するcudaカーネルを作成したいだけです。後でバッファはマップされません。

次に、opengl プログラムでバッファ オブジェクトをフレームバッファに描画します。非推奨ではない opengl API を使用したいと考えています。

バッファ オブジェクトをフレーム バッファに描画する他の方法/API はありますか? (また、cuda 配列/キャッシュの問題と同じ問題が発生する可能性があるため、レンダー バッファーも使用できません。したがって、これにより、フレームバッファー オブジェクト/拡張機能が除外されます ?!?)。

glDrawPixels が非推奨になった今、opengl 4.0 にギャップ/不足している機能はありますか? または代替手段はありますか?

4

1 に答える 1

5

glDrawPixelsGL 3.2 以降から削除されました (非推奨ではありません。非推奨とは、「利用可能ですが、将来削除される」ことを意味します)。通常、ピクセル データを画面に描画する高速な方法ではないため、削除されました。

あなたの最善の策は、 を使用glTexSubImage2Dてテクスチャにアップロードし、それを画面に描画することです。または でテクスチャからブリットしglBlitFramebufferます。

于 2012-06-22T21:45:16.643 に答える