問題タブ [pbo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
180 参照

java - PBO バッファの内容は何を意味しますか?

PBO (OpenGL を使用したピクセル バッファー オブジェクト) を使用してカラー ピッキング システムを実装しようとしていましたが、終了すると、マップ時に PBO から出力された数値がまったく意味をなさないことに気付きました。アプリケーションでさまざまな色の大きな正方形をレンダリングすると、結果のDIDがこれらのさまざまな色の間で変化しましたが、数値を分析した後でも、意味がわかりません。

たとえば、純粋な赤をクリックすると (-1,0,0) のバイトが返され、純粋な青では (0,0,-1) が返されましたが、すべてのロジックに対して、純粋な緑では (-1,0,-1) が返されました。 、シアンも (-1,0,0) を与え、黄色は (76,-1,0) を与えます。

2 つの異なる色が同じバイト構成になる可能性があることを考えると、これらの数値は明らかに間違っています。完全に赤い色は (127,0,0) であるべきではありませんか?

1 ピクセルしか読み取っていないため、サイズ 3 の初期化に使用したコードを次に示します。

そして、これがピクセルの読み取りに使用したコードです

私が行った仮定が間違っている場合は、修正してください。おそらく、このシステムを使用して、各要素を一意の色で fbo にレンダリングし、クリックされたピクセルの色をテストすることで、どの gui 要素がクリックされているかを知ることを計画しています。助けていただける方、よろしくお願いします!

0 投票する
1 に答える
79 参照

opengl - OpenGL - データを PBO にクエリした後にテクスチャを使用できますか?

FBO 経由でテクスチャにレンダリングします。テクスチャ データを PBO にコピーしたいので、glGetTexImage. この PBO で使用glMapBufferしますが、次のフレーム (またはそれ以降) でのみ使用するため、ストールは発生しません。

glGetTexImageしかし、ストールを起こさずに呼び出し直後のテクスチャを使用できますか? テクスチャ ユニットにバインドしてレンダリングすることはできますか? FBO 経由で再度レンダリングできますか?

0 投票する
0 に答える
169 参照

opengl - GPU 内の OpenGL ピクセル転送

私は最近 VR を使用していて、OpenGL 関連の問題に遭遇しました。VR に使用する API は、ビデオ ストリームをキャプチャしてテクスチャに書き込みます。次に、このテクスチャをヘッドセットに送信します。しかし、API には互換性がありません。ストリームから取得したテクスチャの内部フォーマットは定義されておらず、ヘッドセットに直接送信することはできません。

私は回避策に取り組んでいます。今のところ、GPU -> CPU -> GPU 転送を使用しました: 最初のテクスチャ ピクセルを (glReadPixels で) 読み取り、それらをバッファに書き込み、次にこのバッファを使用してテクスチャを作成します正しいフォーマット。これは問題なく動作しますが、データ転送による遅延が発生します。

直接 GPU コピーを実行しようとしましたが、失敗しました:

  • PBO を使用してみましたが、無効な操作に問題があります ( http://www.songho.ca/opengl/gl_pbo.htmlに従ってください)。

    /li>
  • FBO を使用しようとしましたが、ポインター例外が発生しました。

  • 最初のテクスチャの内部フォーマットが認識されないため、glCopyImageSubData は機能しません。

GPU の直接コピーを行う手順は?