GLTEXSUBIMAGE2D
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glTexSubImage2D
- 2次元のテクスチャサブイメージを指定する
書式
void glTexSubImage2D(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
const GLvoid *pixels )
delim $$
引き数
- target
-
対象となるテクスチャを指定する。
GL_TEXTURE_2D でなければならない。
- level
-
LOD (詳細度)の値を指定する。
レベル 0 は元のイメージを表わすレベルである。
レベル n は n 番目のミップマップ削減イメージ
である。
- xoffset
-
テクスチャ配列内におけるテクセルの X 方向のオフセットを指定する。
- yoffset
-
テクスチャ配列内におけるテクセルの Y 方向のオフセットを指定する。
- width
-
テクスチャサブイメージの幅を指定する。
- height
-
テクスチャサブイメージの高さを指定する。
- format
-
ピクセルデータのフォーマットを指定する。
以下のシンボル定数を指定できる:
GL_COLOR_INDEX,
GL_RED,
GL_GREEN,
GL_BLUE,
GL_ALPHA,
GL_RGB,
GL_BGR,
GL_RGBA,
GL_BGRA,
GL_LUMINANCE,
GL_LUMINANCE_ALPHA。
- type
-
ピクセルデータのデータ型を指定する。
以下のシンボル値を指定できる:
GL_UNSIGNED_BYTE,
GL_BYTE,
GL_BITMAP,
GL_UNSIGNED_SHORT,
GL_SHORT,
GL_UNSIGNED_INT,
GL_INT,
GL_FLOAT,
GL_UNSIGNED_BYTE_3_3_2,
GL_UNSIGNED_BYTE_2_3_3_REV,
GL_UNSIGNED_SHORT_5_6_5,
GL_UNSIGNED_SHORT_5_6_5_REV,
GL_UNSIGNED_SHORT_4_4_4_4,
GL_UNSIGNED_SHORT_4_4_4_4_REV,
GL_UNSIGNED_SHORT_5_5_5_1,
GL_UNSIGNED_SHORT_1_5_5_5_REV,
GL_UNSIGNED_INT_8_8_8_8,
GL_UNSIGNED_INT_8_8_8_8_REV,
GL_UNSIGNED_INT_10_10_10_2,
GL_UNSIGNED_INT_2_10_10_10_REV。
- pixels
-
メモリ上のイメージデータを指すポインタを指定する。
説明
テクスチャ処理とは、指定されたテクスチャイメージの一部を、
テクスチャが有効にされている各グラフィカルプリミティブ
にマッピングすることである。
2次元のテクスチャ処理を有効または無効にするには、引き数 GL_TEXTURE_2D
を指定して glEnable, glDisable を呼ぶ。
glTexSubImage2D は、既存の2次元テクスチャイメージ
の連続する部分領域を再定義する。
pixels が参照しているテクセルは、既存のテクスチャ配列の
一部を置き換える。置き換えられるのは、X インデックスが
xoffset から $"xoffset"~+~"width"~-~1$ まで
であり、かつ Y インデックスが yoffset から
$"yoffset"~+~"height"~-~1$ まで(いずれも両端含む)の部分である。
この領域は、テクスチャ領域がもともと指定されていた範囲外の
テクセルを含んではならない。
幅や高さが 0 であるサブテクスチャを指定してもエラーにはならないが、
このような指定をしても何も起こらない。
注意
glTexSubImage2D を使えるのは、バージョン 1.1 以降の
GL だけである。
テクスチャ処理は色インデックスモードでは効果がない。
glPixelStore モードと glPixelTransfer モードは、
glDrawPixels と全く同じようにテクスチャイメージに影響を及ぼす。
フォーマット GL_BGR, GL_BGRA および
以下の型を使えるのは、GL のバージョン 1.2 以降だけである:
GL_UNSIGNED_BYTE_3_3_2,
GL_UNSIGNED_BYTE_2_3_3_REV,
GL_UNSIGNED_SHORT_5_6_5,
GL_UNSIGNED_SHORT_5_6_5_REV,
GL_UNSIGNED_SHORT_4_4_4_4,
GL_UNSIGNED_SHORT_4_4_4_4_REV,
GL_UNSIGNED_SHORT_5_5_5_1,
GL_UNSIGNED_SHORT_1_5_5_5_REV,
GL_UNSIGNED_INT_8_8_8_8,
GL_UNSIGNED_INT_8_8_8_8_REV,
GL_UNSIGNED_INT_10_10_10_2,
GL_UNSIGNED_INT_2_10_10_10_REV。
実装が GL_ARB_multitexture 機能拡張に対応している場合、
glTexSubImage2D は現在のテクスチャユニットに対する
2次元のサブテクスチャを指定する。
テクスチャユニットは glActiveTextureARB で指定される。
実装が GL_ARB_imaging 機能拡張に対応している場合、
pixels 内に指定されているRGBA 要素は画像処理パイプライン
を使って処理される場合がある。
詳しくは glTexImage1D を参照すること。
エラー
GL_INVALID_ENUM:
target が GL_TEXTURE_2D でない場合に起こる。
GL_INVALID_OPERATION:
テクスチャ配列が、事前に glTexImage2D 操作によって
定義されていない場合に起こる。
GL_INVALID_VALUE:
level が 0 より小さい値の場合に起こる。
GL_INVALID_VALUE:
level が $log sub 2$max より大きい場合に起こる。
ここで、max は GL_MAX_TEXTURE_SIZE として返される
値である。
GL_INVALID_VALUE:
$"xoffset" ~<~ ~-b$,
$"yoffset" ~<~ ~-b$,
$("xoffset"~+~"width") ~>~ (w ~-~ b)$,
$("yoffset" ~+~ "height") ~>~ (h~-~b)$
のいずれかである場合に起こる。
ここで
$w$ は GL_TEXTURE_WIDTH,
$h$ は GL_TEXTURE_HEIGHT,
$b$ は GL_TEXTURE_BORDER の幅である。
いずれの値も、変更しようとしているテクスチャイメージの
ものである。
$w$, $h$ は境界幅をふたつ分含むことに注意する。
GL_INVALID_VALUE:
width または height が 0 より小さい場合に起こる。
GL_INVALID_ENUM:
format が指定可能なシンボル定数でない場合に起こる。
GL_INVALID_ENUM:
type が型定数でない場合に起こる。
GL_INVALID_ENUM:
type が GL_BITMAP であり、かつ format が
GL_COLOR_INDEX でない場合に起こる。
GL_INVALID_OPERATION:
glBegin と、その対になる glEnd の間で
glTexSubImage2D が実行されると起こる。
GL_INVALID_OPERATION:
type が
GL_UNSIGNED_BYTE_3_3_2,
GL_UNSIGNED_BYTE_2_3_3_REV,
GL_UNSIGNED_SHORT_5_6_5,
GL_UNSIGNED_SHORT_5_6_5_REV
のいずれかであり、かつ format が GL_RGB でない
場合に起こる。
GL_INVALID_OPERATION:
type が
GL_UNSIGNED_SHORT_4_4_4_4,
GL_UNSIGNED_SHORT_4_4_4_4_REV,
GL_UNSIGNED_SHORT_5_5_5_1,
GL_UNSIGNED_SHORT_1_5_5_5_REV,
GL_UNSIGNED_INT_8_8_8_8,
GL_UNSIGNED_INT_8_8_8_8_REV,
GL_UNSIGNED_INT_10_10_10_2,
GL_UNSIGNED_INT_2_10_10_10_REV
のいずれかであり、かつ format が
GL_RGBA と GL_BGRA のいずれでもない場合に
起こる。
関連する取得値
glGetTexImage
引き数 GL_TEXTURE_2D を指定した glIsEnabled
関連項目
glActiveTextureARB(3G),
glCopyTexImage1D(3G),
glCopyTexImage2D(3G),
glCopyTexSubImage1D(3G),
glCopyTexSubImage2D(3G),
glCopyTexSubImage3D(3G),
glDrawPixels(3G),
glPixelStore(3G),
glPixelTransfer(3G),
glTexEnv(3G),
glTexGen(3G),
glTexImage1D(3G),
glTexImage2D(3G),
glTexImage3D(3G),
glTexSubImage1D(3G),
glTexSubImage3D(3G),
glTexParameter(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:11 GMT, January 12, 2009