後でまったく同じ状態とデータで復元できるように、任意のOpenGLテクスチャオブジェクトをシリアル化する必要があります。
テクスチャ画像データを取得する方法を探しています。これが私がこれまでに見つけたものです:
あり
glGetTexImageます。テクスチャ画像を取得することはできますが、変換を実行するための指定されたフォーマット/タイプのペア((
GL_RGB、 )など)が必要です。GL_HALF_FLOATただし、許可されている形式とタイプは1:1で画像形式にマッピングされておら
GL_R3_G3_B2ず、追加の変換なしのように、よりあいまいな形式を取得することはできません。また、基本内部フォーマット(サイズなしなど)のCタイプを正しく決定するには、
GL_RGB重要な労力が必要です。ARB_internalformat_query2求めることができ、特定のテクスチャの最良の選択を表すものがありGL_GET_TEXTURE_IMAGE_FORMATます。GL_GET_TEXTURE_IMAGE_TYPEglGetTexImage素晴らしいですが、同じ制限が
glGetTexImageあり、広く利用可能ではありません。圧縮されたテクスチャのデータをそのままエレガントに返すという素晴らしい機能があり
glGetCompressedTexImageますが、非圧縮の画像では機能せず、対応するものもありません。
これらのいずれも、非圧縮テクスチャの生データを取得または設定することはできません。方法はありますか?