あります glTexImage2D そして glTexSubImage2D ピクセルのバッファをテクスチャに渡す唯一の方法は?
現時点ではセットアップ機能で使用しています glTexImage2D nullをバッファとして渡し、レンダリングループで呼び出します glTexSubImage2D 反復ごとに新しいバッファデータを使用します。
しかし、テクスチャが寸法などのプロパティを変更しないことを知っているので、実際のピクセルデータをレンダリングテクスチャに渡すためのより効率的な方法はありますか?
最新のOpenGL
には、2Dテクスチャを更新するための4つの異なる方法があります。
glTexImage2D
-最も遅いもので、内部データ構造を再作成します。
glTexSubImage2D
-少し高速ですが、画像のパラメータ(サイズ、ピクセル形式)を変更することはできません。
FBO
を使用したテクスチャへのレンダリング-GPU上でテクスチャを完全に更新します。非常に高速です。詳細については、この回答を参照してください: https://stackoverflow.com/a/10702468/106519
ピクセルバッファオブジェクトPBO
-CPUからGPUへの高速アップロード用。OpenGLESでは(まだ)サポートされていません。