次の方法で共有


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 は基本イメージです。 レベル nn番目のミップマップ縮小画像である。

xoffset

テクスチャ配列内の x 方向のテクセル オフセット。

yoffset

テクスチャ配列内の y 方向のテクセル オフセット。

x

コピーするピクセルの行の左下隅のウィンドウ x 平面座標。

y

コピーするピクセル行の左下隅のウィンドウ y 平面座標。

width

テクスチャ イメージのサブイメージの幅。 幅がゼロのテクスチャ サブイメージを指定しても効果はありません。

height

テクスチャ イメージのサブイメージの高さ。 幅がゼロのテクスチャ サブイメージを指定しても効果はありません。

戻り値

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

エラー コード

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

名前 意味
GL_INVALID_ENUM
target が受け入れられた値ではありません。
GL_INVALID_VALUE
level が 0 より小さいか 、ログ2 (max) より大きく、 max は GL_MAX_TEXTURE_SIZE の戻り値です。
GL_INVALID_VALUE
xoffset罫線より小さいか (xoffset + の幅)が (w + 罫線)、yoffset罫線より小さい、または (yoffset + の高さ) が (h + border) より大きく、w がGL_TEXTURE_WIDTHされ、罫線がGL_TEXTURE_BORDER。 w には罫線の幅の 2 倍が含まれていることに注意してください。
GL_INVALID_VALUE
width罫線 より小さいか 、y罫線より小さく、 border はテクスチャ配列の境界線の幅です。
GL_INVALID_OPERATION
テクスチャ配列は、以前の glTexImage1D 操作で定義されませんでした。
GL_INVALID_OPERATION
glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。

解説

glCopyTexSubImage2D 関数は、glTexSubImage2D の場合と同様に、2 次元テクスチャ イメージの四角形の部分を、メインメモリではなく、現在のフレームバッファーのピクセルに置き換えます。

xy のウィンドウ座標で始まり、寸法の幅高さを持つピクセルの四角形は、テクスチャ配列の部分を xoffset + (width - 1) を通るインデックス xoffset に置き換え、レベルで指定されたミップマップ レベルで yoffset から yoffset + (width - 1) のインデックスに置き換えます。 テクスチャ配列内のコピー先の四角形には、最初に指定したテクスチャ配列の外側にテクセルを含めることはできません。

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

現在のフレームバッファーの指定された四角形内のピクセルのいずれかが、現在のレンダリング コンテキストに関連付けられている読み取りウィンドウの外側にある場合、それらのピクセルに対して取得された値は未定義になります。 指定したテクスチャ配列の internalFormatwidthheight、または border パラメーター、または指定したテクスチャ サブイメージの外部のテクセル値は変更されません。

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

Note

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

テクスチャリングは、カラー インデックス モードでは効果がありません。 glPixelStore 関数と glPixelTransfer 関数は、glDrawPixels を使用してピクセルの描画方法に正確に影響を与えるテクスチャ イメージに影響します。

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

glGetTexImage

引数GL_TEXTURE_2Dを使用した glIsEnabled

必要条件

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

関連項目

glBegin

glCopyPixels

glCopyTexSubImage1D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage2D

glTexSubImage2D

glTexParameter