フラグメントシェーダ内から3Dテクスチャにデータを書き込んでいますが、このデータを非同期にシステムメモリに読み戻す必要があります。バッファオブジェクトへのパッキング操作を非同期的に開始する唯一の手段は、NULL
ポインタを使用してglReadPixels()
を呼び出しているようです。しかし、この関数は、読み込み領域を定義する矩形を渡すことを強く要求します。 PBOを使用するときにこれらのパラメータが無視されるかどうかはわかりませんが、私はそうではないと思います。この場合、3Dテクスチャ全体を得るために、この関数に何を渡すべきかわかりません。 個々のスライス(愚かなIMOのようなもの)を読み返す必要があるとしても、私はまだ読むためにスライスするOpenGLとどうやってコミュニケーションをとるべきか考えていません。何か不足していますか?ピクセルバッファオブジェクトを使用してGPUメモリから3Dテクスチャを読み込む方法
私は間違っていない場合は、すべてのスライスに個別の2Dテクスチャを使用できますが、それは(3D-)ミップマップをねじることになります。 3次元ミップマップを使用して、得られた3Dテクスチャの関心領域を効率的に見つけたいと思っていました。
P.S.次善のタグを申し訳ありませんが、これまで誰も以前に3Dテクスチャについて尋ねたことはありません。新しいタグを作成することはできません。
これは、PBOの仕様とさまざまな例を勉強したときの印象でした。私はESを使用していないので、 'glGetTexImage'が私の仕事をします。私は何かが足りなかったことを知っていた...ありがとう! – Awaki