GLCOPYCOLORTABLE
Section: Misc. Reference Manual Pages (3G)
索引
xjman
NAME
glCopyColorTable
- ピクセルを色テーブルにコピーする
書式
void glCopyColorTable(
GLenum target,
GLenum internalformat,
GLint x,
GLint y,
GLsizei width )
delim $$
引き数
- target
-
対象となる色テーブル。
GL_COLOR_TABLE,
GL_POST_CONVOLUTION_COLOR_TABLE,
GL_POST_COLOR_MATRIX_COLOR_TABLE
のいずれかでなければならない。
- 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_R3_G3_B2,
GL_RGB,
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
-
色テーブルに転送する矩形領域のピクセルの左下隅の x 座標。
- y
-
色テーブルに転送する矩形領域のピクセルの左下隅の y 座標。
- width
-
矩形領域ピクセルの幅。
説明
glCopyColorTable は現在の GL_READ_BUFFER から
色テーブルにピクセルをロードする(glColorTable のように
メインメモリから読み込むのではない)。
画面に整列された矩形領域のピクセルが色テーブルにロードされる。
この領域は左下隅の座標が (x, y) であり、幅が width, 高さが 1
である。
この領域に含まれるピクセルのどれかが
GL コンテクストに関連付けされたウィンドウの外にある場合、
はみ出しているピクセルについて得られる値は未定義である。
矩形領域に含まれるピクセルは、
internalformat として RGBA を設定した glReadPixels が呼ばれた
場合と同様に処理される。
ただし処理は最後の RGBA への変換の後に終わる点が異なる。
次に、色テーブルに対して定義されている
4 個のスケールパラメータと 4 個のバイアスパラメータを使って、
各ピクセルの R, G, B, A 要素のスケール処理とバイアス処理が行われる。
スケールパラメータとバイアスパラメータは glColorTableParameter を
呼ぶことによって設定する。
次に、R, G, B, A の値は [0,1] に収まるように修正される。
それから、各ピクセルは internalformat で指定された内部フォーマットに
変換される。
この変換は単にピクセルの要素値(R, G, B, A)を内部フォーマットに
含まれる値(赤、緑、青、アルファ値、輝度、強度)にマッピングするだけである。
マッピングは次の通りである:
|
内部フォーマット | 赤 | 緑 | 青 | アルファ値 | 輝度 | 強度
|
|
GL_ALPHA | | | | A | |
|
GL_LUMINANCE | | | | | R |
|
GL_LUMINANCE_ALPHA | | | | A | R |
|
GL_INTENSITY | | | | | | R
|
GL_RGB | R | G | B | | |
|
GL_RGBA | R | G | B | A | |
|
|
最後に、結果として得られるピクセルの赤、緑、青、アルファ値、輝度、強度の
各要素が色テーブルに格納される。
これらのピクセルにより 1 次元のテーブルが作る。
テーブルのインデックスの範囲は [0, width - 1] である。
注意
glCopyColorTable が利用できるのは、引き数に GL_EXTENSIONS を
指定して glGetString を呼んだ際に GL_ARB_imaging が
返される場合だけである。
エラー
GL_INVALID_ENUM:
target が指定可能な値のいずれかでない場合に起こる.
GL_INVALID_VALUE:
width が 0 より小さい場合に起こる.
GL_INVALID_VALUE:
internalformat が指定可能な値のいずれかでない場合に起こる.
GL_TABLE_TOO_LARGE:
要求された色テーブルが大きすぎて、実装が対応していない場合に起こる。
GL_INVALID_OPERATION:
glBegin と、その対になる glEnd の間で
glCopyColorTable が実行されると起こる。
関連する取得値
glGetColorTable,
glGetColorTableParameter
関連項目
glColorTable(3G),
glColorTableParameter(3G),
glReadPixels(3G)
Index
- NAME
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:06 GMT, January 12, 2009