GLCOPYTEXIMAGE2D
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glCopyTexImage2D
- ピクセルを 2 次元のテクスチャイメージにコピーする
書式
void glCopyTexImage2D(
GLenum target,
GLint level,
GLenum internalformat,
GLint x,
GLint y,
GLsizei width,
GLsizei height,
GLint border )
delim $$
引き数
- target
-
対象となるテクスチャを指定する。
GL_TEXTURE_2D でなければならない。
- level
-
詳細度(LOD)の数を指定する。
レベル 0 が 0 基本イメージレベルである。
レベル n は、n 番目のミップマップ削減イメージである。
- internalformat
-
テクスチャの内部フォーマットを指定する。
次のシンボル定数のいずれかでなければならない:
GL_ALPHA,
GL_ALPHA4,
GL_ALPHA8,
GL_ALPHA12,
GL_ALPHA16,
GL_LUMINANCE,
GL_LUMINANCE4,
GL_LUMINANCE8,
GL_LUMINANCE12,
GL_LUMINANCE16,
GL_LUMINANCE_ALPHA,
GL_LUMINANCE4_ALPHA4,
GL_LUMINANCE6_ALPHA2,
GL_LUMINANCE8_ALPHA8,
GL_LUMINANCE12_ALPHA4,
GL_LUMINANCE12_ALPHA12,
GL_LUMINANCE16_ALPHA16,
GL_INTENSITY,
GL_INTENSITY4,
GL_INTENSITY8,
GL_INTENSITY12,
GL_INTENSITY16,
GL_RGB,
GL_R3_G3_B2,
GL_RGB4,
GL_RGB5,
GL_RGB8,
GL_RGB10,
GL_RGB12,
GL_RGB16,
GL_RGBA,
GL_RGBA2,
GL_RGBA4,
GL_RGB5_A1,
GL_RGBA8,
GL_RGB10_A2,
GL_RGBA12,
GL_RGBA16。
- x, y
-
コピーされるピクセル矩形領域の左下隅のウィンドウ座標を指定する。
- width
-
テクスチャイメージの幅を指定する。
0 または $2 sup n ~+~ 2*$ border ($n$ は整数)で
なければならない。
- height
-
テクスチャイメージの高さを指定する。
0 または $2 sup m ~+~ 2*$ border ($m$ は整数)で
なければならない。
- border
-
境界の幅を指定する。
0 または 1 でなければならない。
説明
glCopyTexImage2D は、現在の GL_READ_BUFFER から
取り出したピクセルを使って 2 次元のテクスチャイメージを定義する。
スクリーン並びのピクセル(
矩形領域の左端が $("x", "y")$ であり、
行の幅が width$~+~2~*~$border, 高さが height$~+~2~*~$border である)
はテクスチャの配列を定義する。
このテクスチャ配列は、level で指定された
ミップマップレベルを持つ。
internalformat はテクスチャ配列の内部フォーマットを指定する。
矩形領域に含まれるピクセルは glCopyPixels が呼ばれた場合と
まったく同じように処理されるが、処理は最後の変換の直前で終わる。
この時点ではピクセルの全ての要素値は [0, 1] の範囲に収まるように
調整されている。
次に要素値は、テクセル配列に格納するための
テクスチャの内部フォーマットに変換される。
ピクセルの並び順は、スクリーン座標 $x$, $y$ が小さい方が
テクスチャ座標 $s$, $t$ も小さくなる順である。
現在の GL_READ_BUFFER において、
指定された矩形領域に含まれるピクセルが
現在のレンダリングコンテクストに関連づけされたウィンドウの外にある
場合、そのピクセルについて得られる値は未定義である。
注意
glCopyTexImage2D は GL の 1.1 以降でしか利用できない。
テクスチャ処理は色インデックスモードでは効果がない。
internalformat の値にとして 0, 1, 2, 3, 4 を
指定することはできない。
幅または高さが 0 のイメージは NULL テクスチャを示す。
GL_ARB_imaging 機能拡張に対応していれば、
フレームバッファからコピーされた RGBA 要素は
イメージ処理パイプラインによって処理される場合がある。
詳しい説明については glTexImage1D を参照すること。
エラー
GL_INVALID_ENUM:
target が指定可能な値のいずれでもない場合に起こる。
GL_INVALID_VALUE:
level が 0 より小さい場合に起こる。
GL_INVALID_VALUE:
level が $log sub 2 max$ より大きい場合に起こることがある。
ここで $max$ は GL_MAX_TEXTURE_SIZE が返す値である。
GL_INVALID_VALUE:
width または height が 0 より小さい場合や
$2~+~$GL_MAX_TEXTURE_SIZE より大きい場合、
width または height が $2 sup k ~+~ 2~*~$border として表現できない場合に起こる。
GL_INVALID_VALUE:
border が 0 と 1 のいずれでもない場合に起こる。
GL_INVALID_VALUE:
internalformat が指定可能な値でない場合に起こる。
glBegin と、その対になる glEnd の間で
glCopyTexImage2D が実行された場合に起こる。
関連する取得値
glGetTexImage
引き数 GL_TEXTURE_2D を指定した glIsEnabled。
関連項目
glCopyPixels(3G),
glCopyTexImage1D(3G),
glCopyTexSubImage1D(3G),
glCopyTexSubImage2D(3G),
glPixelStore(3G),
glPixelTransfer(3G),
glTexEnv(3G),
glTexGen(3G),
glTexImage1D(3G),
glTexImage2D(3G),
glTexSubImage1D(3G),
glTexSubImage2D(3G),
glTexParameter(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:06 GMT, January 12, 2009