Share via


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 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
targetformat、または type が受け入れられた値ではありません。
GL_INVALID_VALUE
level が 0 より小さいか 、ログ2 (max) より大きい値です。 ここで、max はGL_MAX_TEXTURE_SIZEの戻り値です。
GL_INVALID_OPERATION
この関数は、 glBegin の呼び出しと glEnd への対応する呼び出しの間に呼び出されました。

解説

glGetTexImage 関数は、テクスチャ イメージをピクセルに返しますターゲット パラメーターは、目的のテクスチャ イメージが glTexImage1D(GL_TEXTURE_1D) または glTexImage2D(GL_TEXTURE_2D) で指定されたものかどうかを指定します。 level パラメーターは、目的のイメージの詳細レベル番号を指定します。 format パラメーターと type パラメーターは、目的のイメージ配列の形式と型を指定します。 書式パラメーターとパラメーターに使用できる値の説明については、glTexImage1DglDrawPixels に関するページを参照してください。

glGetTexImage の動作は、選択した内部 4 成分テクスチャ イメージを RGBA カラー バッファーとしてイメージのサイズと見なすことで最もよく理解されます。 その後、glGetTexImage のセマンティクスは、同じ形式種類で呼び出された glReadPixels のセマンティクスと同じになり、xy は 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 [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glBegin

glDrawPixels

glEnd

glGetTexLevelParameter

glReadPixels

glTexImage1D

glTexImage2D