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 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
target が受け入れられた値ではありません。 |
|
level が 0 より小さいか、log2 max より大きかった。 ここで、max はGL_MAX_TEXTURE_SIZEの戻り値です。 |
|
border が 0 または 1 でなかった。 |
|
width が 0 より小さく、2 + GL_MAX_TEXTURE_SIZEより大きいか、整数 n の場合、幅を 2n + 2 * 罫線として表すことはできません。 |
|
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。 |
解説
glCopyTexImage2D 関数は、glTexImage2D の場合と同様に、メインメモリからではなく、現在のフレームバッファーのピクセルを使用して 2 次元テクスチャ イメージを定義します。
level で指定されたミップマップ レベルを使用すると、テクスチャ配列はピクセルの四角形として定義され、左下隅は座標 x と y、幅は幅 + (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 [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|