1

私は OMAP 3530 ベースのプラットフォームで GP-GPU コードに取り組んでいますが、openGL ES 2.0 に glGetTexImage 関数がないために行き詰まっています。プラットフォームは GPU に統合メモリを使用するため、メモリ内の割り当てられたテクスチャへのポインタを直接取得するためにできるハックがあるかどうか疑問に思っていました。このようにして、大量のデータを破棄するフレームバッファーを介してデータをプッシュすることなく、データを読み戻すことができました。

4

1 に答える 1

3

私の知る限り、あなたが説明したことを行う方法はありません。これを行う最も効率的で最も近い方法は、FBO にレンダリングすることです。この方法では、テクスチャをカラー バッファーとしてバインドし、glReadPixels を使用してピクセルを取得できます。これには、glReadPixels API により、フレームバッファを読み取る必要があります。ただし、他の方法よりも FBO を使用する利点がいくつかあります。

  1. 同じ EGLContext 内で複数の FBO を作成して使用できます (たとえば、PBuffer を使用する場合、コンテキスト スイッチは必要ありません)。
  2. FBO間でカラー(および深度/ステンシル)バッファを共有できます
  3. コピー操作を行わなくても、テクスチャを FBO に直接アタッチできます。
于 2011-05-01T23:27:56.340 に答える