glGetTexImage 関数
glGetTexImage 関数はテクスチャ イメージを返します。
構文
void WINAPI glGetTexImage(
GLenum target,
GLint level,
GLenum format,
GLenum type,
GLvoid *pixels
);
パラメーター
-
target
-
取得するテクスチャを指定します。 GL_TEXTURE_1DとGL_TEXTURE_2Dを受け入れます。
-
level
-
目的のイメージの詳細レベル番号。 レベル 0 は基本イメージ レベルです。 レベルnはn番目のミップマップ縮小画像である。
-
format
-
返されるデータのピクセル形式。 サポートされている形式は、GL_RED、GL_GREEN、GL_BLUE、GL_ALPHA、GL_RGB、GL_RGBA、GL_LUMINANCE、GL_BGR_EXT、GL_BGRA_EXT、GL_LUMINANCE_ALPHAです。
-
type
-
返されるデータのピクセル型。 サポートされている型は、GL_UNSIGNED_BYTE、GL_BYTE、GL_UNSIGNED_SHORT、GL_SHORT、GL_UNSIGNED_INT、GL_INT、GL_FLOATです。
-
ピクセル
-
テクスチャ イメージを返します。 型で指定された型の配列へのポインターである必要があります。
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
target、 format、または type が受け入れられた値ではありません。 |
|
level が 0 より小さいか 、ログ2 (max) より大きい値です。 ここで、max はGL_MAX_TEXTURE_SIZEの戻り値です。 |
|
この関数は、 glBegin の呼び出しと glEnd への対応する呼び出しの間に呼び出されました。 |
解説
glGetTexImage 関数は、テクスチャ イメージをピクセルに返します。 ターゲット パラメーターは、目的のテクスチャ イメージが glTexImage1D(GL_TEXTURE_1D) または glTexImage2D(GL_TEXTURE_2D) で指定されたものかどうかを指定します。 level パラメーターは、目的のイメージの詳細レベル番号を指定します。 format パラメーターと type パラメーターは、目的のイメージ配列の形式と型を指定します。 書式パラメーターと型パラメーターに使用できる値の説明については、glTexImage1D と glDrawPixels に関するページを参照してください。
glGetTexImage の動作は、選択した内部 4 成分テクスチャ イメージを RGBA カラー バッファーとしてイメージのサイズと見なすことで最もよく理解されます。 その後、glGetTexImage のセマンティクスは、同じ形式と種類で呼び出された glReadPixels のセマンティクスと同じになり、x と y は 0 に設定され、width はテクスチャ イメージの幅 (指定されている場合は罫線を含む)、高さは 1-D イメージの場合は 1 に設定され、テクスチャ イメージの高さ (罫線を含む) に設定されます。 2-D イメージの場合は 。
内部テクスチャ イメージは RGBA イメージであるため、ピクセル形式GL_COLOR_INDEX、GL_STENCIL_INDEX、GL_DEPTH_COMPONENTは受け入れられません。また、ピクセル の種類GL_BITMAPは受け入れられません。
選択したテクスチャ イメージに 4 つのコンポーネントが含まれていない場合は、次のマッピングが適用されます。 単一コンポーネント テクスチャは RGBA バッファーとして扱われ、赤は単一コンポーネント値に設定され、緑、青、アルファは 0 に設定されます。
2 つのコンポーネントテクスチャは RGBA バッファーとして扱われ、赤はコンポーネント 0 の値に設定され、アルファはコンポーネント 1 の値に設定され、緑と青は 0 に設定されます。 最後に、3 つのコンポーネント テクスチャは RGBA バッファーとして扱われ、赤はコンポーネント 0 に設定され、緑はコンポーネント 1 に設定され、青はコンポーネント 2 に設定され、アルファは 0 に設定されます。
ピクセル の必要なサイズを確認するには、 glGetTexLevelParameter を使用して内部テクスチャ イメージの寸法を確認し、 形式 と 種類に基づいて各ピクセルに必要なストレージによって必要なピクセル数をスケーリングします。 ピクセルストレージのパラメーター (特にGL_PACK_ALIGNMENT) を考慮してください。
エラーが生成された場合、 ピクセルの内容は変更されません。
次の関数は 、glGetTexImage に関連する情報を取得します。
glGet と引数 GL_PACK_ALIGNMENT その他
引数がGL_TEXTURE_WIDTHされた glGetTexLevelParameter
引数がGL_TEXTURE_HEIGHTされた glGetTexLevelParameter
引数がGL_TEXTURE_BORDERされた glGetTexLevelParameter
引数がGL_TEXTURE_COMPONENTSされた glGetTexLevelParameter
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|