glCopyTexSubImage2D 関数
glCopyTexSubImage2D 関数は、フレームバッファーから 2 次元テクスチャ イメージのサブイメージをコピーします。
構文
void WINAPI glCopyTexSubImage2D(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height
);
パラメーター
-
target
-
イメージ データの変更先となるターゲット。 値をGL_TEXTURE_2Dする必要があります。
-
level
-
詳細レベル番号。 レベル 0 は基本イメージです。 レベル n は n番目のミップマップ縮小画像である。
-
xoffset
-
テクスチャ配列内の x 方向のテクセル オフセット。
-
yoffset
-
テクスチャ配列内の y 方向のテクセル オフセット。
-
x
-
コピーするピクセルの行の左下隅のウィンドウ x 平面座標。
-
y
-
コピーするピクセル行の左下隅のウィンドウ y 平面座標。
-
width
-
テクスチャ イメージのサブイメージの幅。 幅がゼロのテクスチャ サブイメージを指定しても効果はありません。
-
height
-
テクスチャ イメージのサブイメージの高さ。 幅がゼロのテクスチャ サブイメージを指定しても効果はありません。
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
target が受け入れられた値ではありません。 |
|
level が 0 より小さいか 、ログ2 (max) より大きく、 max は GL_MAX_TEXTURE_SIZE の戻り値です。 |
|
xoffset が罫線より小さいか (xoffset + の幅)が (w + 罫線)、yoffset が罫線より小さい、または (yoffset + の高さ) が (h + border) より大きく、w がGL_TEXTURE_WIDTHされ、罫線がGL_TEXTURE_BORDER。
w には罫線の幅の 2 倍が含まれていることに注意してください。 |
|
width が 罫線 より小さいか 、y が 罫線より小さく、 border はテクスチャ配列の境界線の幅です。 |
|
テクスチャ配列は、以前の glTexImage1D 操作で定義されませんでした。 |
|
glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。 |
解説
glCopyTexSubImage2D 関数は、glTexSubImage2D の場合と同様に、2 次元テクスチャ イメージの四角形の部分を、メインメモリではなく、現在のフレームバッファーのピクセルに置き換えます。
x と y のウィンドウ座標で始まり、寸法の幅と高さを持つピクセルの四角形は、テクスチャ配列の部分を xoffset + (width - 1) を通るインデックス xoffset に置き換え、レベルで指定されたミップマップ レベルで yoffset から yoffset + (width - 1) のインデックスに置き換えます。 テクスチャ配列内のコピー先の四角形には、最初に指定したテクスチャ配列の外側にテクセルを含めることはできません。
glCopyTexSubImage2D 関数は、glCopyPixels と同じ方法で行内のピクセルを処理します。ただし、ピクセルの最終的な変換の前に、すべてのピクセル コンポーネント値が範囲 [0,1] に固定され、テクスチャ配列に格納されるテクスチャの内部形式に変換されます。 ピクセルの順序は、低いテクスチャ座標に対応する低い x 座標で決定されます。 現在のフレームバッファーの指定された行内のピクセルのいずれかが、現在のレンダリング コンテキストに関連付けられているウィンドウの外側にある場合、それらの値は未定義になります。
現在のフレームバッファーの指定された四角形内のピクセルのいずれかが、現在のレンダリング コンテキストに関連付けられている読み取りウィンドウの外側にある場合、それらのピクセルに対して取得された値は未定義になります。 指定したテクスチャ配列の internalFormat、 width、 height、または border パラメーター、または指定したテクスチャ サブイメージの外部のテクセル値は変更されません。
glCopyTexSubImage2D の呼び出しを表示リストに含めることはできません。
Note
glCopyTexSubImage2D 関数は、OpenGL バージョン 1.1 以降でのみ使用できます。
テクスチャリングは、カラー インデックス モードでは効果がありません。 glPixelStore 関数と glPixelTransfer 関数は、glDrawPixels を使用してピクセルの描画方法に正確に影響を与えるテクスチャ イメージに影響します。
次の関数は 、glCopyTexSubImage2D に関連する情報を取得します。
引数GL_TEXTURE_2Dを使用した glIsEnabled
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|