次の方法で共有


glCopyTexImage2D 関数

glCopyTexImage2D 関数は、フレームバッファーから 2 次元テクスチャ イメージにピクセルをコピーします。

構文

void WINAPI glCopyTexImage2D(
   GLenum  target,
   GLint   level,
   GLenum  internalFormat,
   GLint   x,
   GLint   y,
   GLsizei width,
   GLsizei height,
   GLint   border
);

パラメーター

target

イメージ データを変更するターゲット。 値をGL_TEXTURE_2Dする必要があります。

level

詳細レベル番号。 レベル 0 は基本イメージです。 レベルnはn番目のミップマップ縮小画像である。

internalFormat

テクスチャ データの内部形式と解像度。 internalFormat では、値 1、2、3、および 4 は受け入れられません。 パラメーターは、次のいずれかのシンボリック値を想定できます。

定数 R ビット G ビット B ビット ビット L ビット I ビット
GL_ALPHA
GL_ALPHA4 4
GL_ALPHA8 8
GL_ALPHA12 12
GL_ALPHA16 16
GL_LUMINANCE
GL_LUMINANCE4 4
GL_LUMINANCE8 8
GL_LUMINANCE12 12
GL_LUMINANCE16 16
GL_LUMINANCE_ALPHA
GL_LUMINANCE4_ALPHA4 4 4
GL_LUMINANCE6_ALPHA2 2 6
GL_LUMINANCE8_ALPHA8 8 8
GL_LUMINANCE12_ALPHA4 4 12
GL_LUMINANCE12_ALPHA12 12 12
GL_LUMINANCE16_ALPHA16 16 16
GL_INTENSITY
GL_INTENSITY4 4
GL_INTENSITY8 8
GL_INTENSITY12 12
GL_INTENSITY16 16
GL_RGB
GL_R3_G3_B2 3 3 2
GL_RGB4 4 4 4
GL_RGB5 5 5 5
GL_RGB8 8 8 8
GL_RGB10 10 10 10
GL_RGB12 12 12 12
GL_RGB16 16 16 16
GL_RGBA
GL_RGBA2 2 2 2 2
GL_RGBA4 4 4 4 4
GL_RGB5_A1 5 5 5 1
GL_RGBA8 8 8 8 8
GL_RGB10_A2 10 10 10 2
GL_RGBA12 12 12 12 12
GL_RGBA16 16 16 16 16

x

コピーするピクセルの四角形領域の左下隅のウィンドウ x 平面座標。

y

コピーするピクセルの四角形領域の左下隅のウィンドウ y 平面座標。

width

テクスチャ イメージの幅。 整数 n の場合は、2n + 2 * 罫線にする必要があります。

height

テクスチャ イメージの高さ。 整数 n の場合は、2n + 2 * 罫線にする必要があります。

国境

境界の幅。 0 または 1 である必要があります。

戻り値

この関数は値を返しません。

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
target が受け入れられた値ではありません。
GL_INVALID_VALUE
level が 0 より小さいか、log2 max より大きかった。 ここで、max はGL_MAX_TEXTURE_SIZEの戻り値です。
GL_INVALID_VALUE
border が 0 または 1 でなかった。
GL_INVALID_VALUE
width が 0 より小さく、2 + GL_MAX_TEXTURE_SIZEより大きいか、整数 n の場合、を 2n + 2 * 罫線として表すことはできません。
GL_INVALID_OPERATION
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。

解説

glCopyTexImage2D 関数は、glTexImage2D の場合と同様に、メインメモリからではなく、現在のフレームバッファーのピクセルを使用して 2 次元テクスチャ イメージを定義します。

level で指定されたミップマップ レベルを使用すると、テクスチャ配列はピクセルの四角形として定義され、左下隅は座標 xy、幅は + (2 * 境界線)、高さは高さ + (2 * 罫線) に等しくなります。 テクスチャ配列の内部形式は internalFormat パラメーターで指定されます。

glCopyTexImage2D 関数は、glCopyPixels と同じ方法で行のピクセルを処理します。ただし、ピクセルの最終的な変換の前に、すべてのピクセル コンポーネントの値が範囲 [0,1] にクランプされ、テクスチャ配列に格納されるテクスチャの内部形式に変換されます。 ピクセルの順序は、下位の s および t テクスチャ座標に対応する下位の x 座標と y 座標で決定されます。 現在のフレームバッファーの指定された行内のピクセルのいずれかが、現在のレンダリング コンテキストに関連付けられているウィンドウの外側にある場合、その値は未定義になります。

表示リストに glCopyTexImage2D の呼び出しを含めることはできません。

注意

glCopyTexImage2D 関数は、OpenGL バージョン 1.1 以降でのみ使用できます。

テクスチャリングは、カラー インデックス モードでは効果がありません。 glPixelStore 関数と glPixelTransfer 関数は、glDrawPixels に影響する正確な方法でテクスチャ イメージに影響します。

次の関数は、 glCopyTexImage2D に関連する情報を取得します。

glIsEnabled with argument GL_TEXTURE_2D

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glBegin

glCopyTexImage1D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexParameter