GLCOPYTEXSUBIMAGE2D

Section: Misc. Reference Manual Pages (3G)
索引 xjman
 

名前

glCopyTexSubImage2D - 2 次元のテクスチャの部分イメージをコピーする

 

書式

void glCopyTexSubImage2D( GLenum target,

                            GLint level,
                            GLint xoffset,
                            GLint yoffset,
                            GLint x,
                            GLint y,
                            GLsizei width,
                            GLsizei height )

delim $$  

引き数

target
対象となるテクスチャを指定する。 GL_TEXTURE_2D でなければならない。
level
詳細度(LOD)を指定する。 レベル 0 が 0 基本イメージレベルである。 レベル n は、n 番目のミップマップ削減イメージである。
xoffset
テクスチャ配列内におけるテクセルの X 方向のオフセット値を指定する。
yoffset
テクスチャ配列内におけるテクセルの Y 方向のオフセット値を指定する。
x, y
コピーされるピクセル領域の左下隅のウィンドウ座標を指定する。
width
テクスチャの部分イメージの幅を指定する。
height
テクスチャの部分イメージの高さを指定する。
 

説明

glCopyTexSubImag2D は、2 次元のテクスチャイメージの一部の 矩形領域を現在の GL_READ_BUFFER から取り出したピクセルで置き換える( メインメモリから取り出す glTexSubImage2D の場合と異なる)。 スクリーン並びのピクセル矩形領域(左下隅の座標が (xy), 幅が width, 高さが height)は、 テクスチャ配列の X 方向のインデックスが xoffset から $"xoffset" ~+~ "width" ~-~ 1$ まで(両端を含む)、 Y 方向のインデックスが yoffset から $"yoffset" ~+~ "height" ~-~ 1$ まで(両端を含む) の部分を置き換える。 この際のミップマップレベルは level で指定する。 行に含まれるピクセルは glCopyPixels が呼ばれた場合と まったく同じように処理されるが、処理は最後の変換の直前で終わる。 この時点ではピクセルの全ての要素値は [0, 1] の範囲に収まるように 調整されている。 次に要素値は、テクセル配列に格納するための テクスチャの内部フォーマットに変換される。 コピー先となるテクスチャ内の矩形領域は、 元々指定されていたテクスチャ配列の外側になるようなテクセルを含んではならない。 部分イメージの幅や高さが 0 であってもエラーではないが、このような指定を しても何も起こらない。 現在の GL_READ_BUFFER において、 指定された行に含まれるピクセルが 現在のレンダリングコンテクストに関連づけされたウィンドウの外にある 場合、そのピクセルについて得られる値は未定義である。 指定されたテクスチャ配列の internalformat, width, border パラメータや、 指定された部分領域の外にあるテクセル値への変更は行われない。  

注意

glCopyTexImage2D は GL の 1.1 以降でしか利用できない。 テクスチャ処理は色インデックスモードでは効果がない。 glPixelStore モードと glPixelTransfer モードが テクスチャイメージに与える影響は、これらのモードが glDrawPixels に与える影響とまったく同じである。 GL_ARB_imaging 機能拡張に対応していれば、 フレームバッファからコピーされた RGBA 要素は イメージ処理パイプラインによって処理される場合がある。 詳しい説明については glTexImage1D を参照すること。  

エラー

GL_INVALID_ENUM: targetGL_TEXTURE_2D でない場合に起こる。 GL_INVALID_OPERATION: テクスチャ配列が予め glTexImage2D 操作または glCopyTexImage2D 操作 を使って定義されていない場合に起こる。 GL_INVALID_VALUE: level が 0 より小さい場合に起こる。 GL_INVALID_VALUE: level が $log sub 2 max$ より大きい場合に起こる。 ここで $max$ は GL_MAX_TEXTURE_SIZE が返す値である。 GL_INVALID_VALUE: x$ ~<~ ~-b$ または y$ ~<~ ~-b$ の場合に起こる。 ここで $b$ はテクスチャ配列の境界幅である。 GL_INVALID_VALUE: $"xoffset" ~<~ -b$, (xoffset$~+~$width)$~>~(w ~-~b)$, yoffset$~<~ ~-b$, (yoffset$~+~$height)$~>~(h ~-~b)$ のいずれかである場合に起こる。 ここで、$w$, $h$, $b$ はそれぞれ、修正されるテクスチャイメージの GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_BORDER である。 $w$ と $h$ は境界幅を 2 回分含む点に注意すること。 GL_INVALID_OPERATION: glBegin と、その対になる glEnd の間で glCopyTexSubImage2D が 実行されると起こる。  

関連する取得値

glGetTexImage
引き数 GL_TEXTURE_2D を指定した glIsEnabled  

関連項目

glCopyPixels(3G), glCopyTexImage1D(3G), glCopyTexImage2D(3G), glCopyTexSubImage1D(3G), glCopyTexSubImage3D(3G), glPixelStore(3G), glPixelTransfer(3G), glReadBuffer(3G), glTexEnv(3G), glTexGen(3G), glTexImage1D(3G), glTexImage2D(3G), glTexImage3D(3G), glTexParameter(3G), glTexSubImage1D(3G), glTexSubImage2D(3G), glTexSubImage3D(3G)


 

Index

名前
書式
引き数
説明
注意
エラー
関連する取得値
関連項目

jman



Time: 07:01:06 GMT, January 12, 2009