私は全体の画像を含むGLvoid* data
を持っています。これは私のプログラムを通して定期的に更新されています。私はglTexImage2D
を使って、このデータでGPUのテクスチャを初期化します。glTexSubImage2Dに全部または一部の画像を提供する必要がありますか?
glTexSubImage2D
を使用して、必要に応じてテクスチャの一部を更新したいと考えています。 documentation for glTexSubImage2DのようなGLvoid* pixels
引数説明:
をメモリ内の画像データへのポインタを指定します。
「画像データ」とはこれを期待していますか? GLvoid* data
全体を提供できますか、またはのにのみコピーされるデータが含まれていることを期待していますか?
部分データが必要な場合は、代わりにバッファ全体を提供する別の方法がありますか? WとHは、テクスチャの幅と高さがあり、全体のテクスチャがコピーされます
これは逆です: 'glTexSubImage2D'はGPUメモリ内のテクスチャの一部を更新するために使用されず、GPUメモリに画像データバッファの一部をアップロードするために使用されます。 – Steeve
glPixelStoreのGL_PACK_ROW_LENGTHは問題を解決しますか? (GL_PACK_SKIP_PIXELSとGL_PACK_SKIP_ROWS)。あまりにも深く自分自身を掘っていない、したがって答えではなくコメント。 – Columbo