GLPIXELMAP
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glPixelMapfv, glPixelMapuiv, glPixelMapusv
- ピクセル転送時のマッピングを設定する
書式
void glPixelMapfv(
GLenum map,
GLint mapsize,
const GLfloat *values )
void glPixelMapuiv(
GLenum map,
GLint mapsize,
const GLuint *values )
void glPixelMapusv(
GLenum map,
GLint mapsize,
const GLushort *values )
delim $$
引き数
- map
-
マッピングのシンボル名を指定する。
値は以下のいずれかでなければならない:
GL_PIXEL_MAP_I_TO_I,
GL_PIXEL_MAP_S_TO_S,
GL_PIXEL_MAP_I_TO_R,
GL_PIXEL_MAP_I_TO_G,
GL_PIXEL_MAP_I_TO_B,
GL_PIXEL_MAP_I_TO_A,
GL_PIXEL_MAP_R_TO_R,
GL_PIXEL_MAP_G_TO_G,
GL_PIXEL_MAP_B_TO_B,
GL_PIXEL_MAP_A_TO_A。
- mapsize
-
定義するマップの大きさを指定する。
- values
-
mapsize の値の配列を指定する。
説明
glPixelMap は変換テーブル(すなわち maps)を設定する。
この変換テーブルは次の関数に使われる:
glCopyPixels,
glCopyTexImage1D,
glCopyTexImage2D,
glCopyTexSubImage1D,
glCopyTexSubImage2D,
glCopyTexSubImage3D,
glDrawPixels,
glReadPixels,
glTexImage1D,
glTexImage2D,
glTexImage3D,
glTexSubImage1D,
glTexSubImage2D,
glTexSubImage3D。
これに加え、実装が GL_ARB_imaging の一部に
対応している場合には、この関数は
glColorTable,
glColorSubTable,
glConvolutionFilter1D,
glConvolutionFilter2D,
glHistogram,
glMinmax,
glSeparableFilter2D
にも使われる。
これらのマップの使いかたは、
glPixelTransfer のマニュアルページで詳しく説明されている。
ピクセル転送およびテクスチャイメージ転送コマンドの
マニュアルページでも部分的に説明されている。
マップの仕様が説明されるのは、このマニュアルページだけである。
map はマップのシンボル名であり、設定するマップを
10個の中からひとつ指定する。
mapsize はマップが持つ項目の数を指定し、
values はマップ値の配列(大きさが mapsize)を指す
ポインタである。
10個のマップについて以下で説明する:
- GL_PIXEL_MAP_I_TO_I
-
色インデックスを色インデックスにマップする。
- GL_PIXEL_MAP_S_TO_S
-
ステンシルインデックスをステンシルインデックスにマップする。
- GL_PIXEL_MAP_I_TO_R
-
色インデックスを赤色要素にマップする。
- GL_PIXEL_MAP_I_TO_G
-
色インデックスを緑色要素にマップする。
- GL_PIXEL_MAP_I_TO_B
-
色インデックスを青色要素にマップする。
- GL_PIXEL_MAP_I_TO_A
-
色インデックスをアルファ値要素にマップする。
- GL_PIXEL_MAP_R_TO_R
-
赤色要素を赤色要素にマップする。
- GL_PIXEL_MAP_G_TO_G
-
緑色要素を緑色要素にマップする。
- GL_PIXEL_MAP_B_TO_B
-
青色要素を青色要素にマップする。
- GL_PIXEL_MAP_A_TO_A
-
アルファ値要素をアルファ値要素にマップする。
マップが持つ項目は、
単精度の浮動小数点値、
符号なしの short integer,
符号なしの long integer で指定できる。
色要素値を格納しているマップ(
GL_PIXEL_MAP_I_TO_I と GL_PIXEL_MAP_S_TO_S を
除く全て)は、値を浮動小数点値で持っている。
仮数部と指数部の大きさは未定義である。
glPixelMapfv で指定した浮動小数点値は、
これらのマップの内部表現の浮動小数点形式に直接変換され、
それから [0, 1] の範囲になるように調整される。
glPixelMapusv, glPixelMapuiv で指定された
符号なし整数値は浮動小数点値に変換される。
この変換は、表現可能な最大の整数が 1.0 にマップされ、
0 が 0.0 にマップされる線形な変換である。
インデックスを格納するマップ
(GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S)
は値を固定小数点値で持つ。
二進小数点から右のビット数は未定義である。
glPixelMapfv で指定された浮動小数点値は、
これらのマップの内部形式の固定小数点値に直接変換される。
glPixelMapusv, glPixelMapuiv で指定された
符号なし整数値は、二進小数点から右を全て 0 とすることで
整数値を示す。
次に示す表は、それぞれのマップについて、大きさと値の初期を示す。
色またはステンシルをインデックス表現しているマップは、
何らかの $n$ について mapsize = $2 sup n$ でなければ
ならない。そうでない場合はエラーとなる。
それぞれのマップに許される最大の大きさは実装依存である。
この大きさは、引き数 GL_MAX_PIXEL_MAP_TABLE
を指定して glGet を呼ぶことで調べられる。
最大値はひとつ調べれば、その値が全てに当てはまる。
この値は少なくとも32である。
|
map | 参照インデックス | 参照値 | 初期サイズ | 初期値
|
|
GL_PIXEL_MAP_I_TO_I | 色インデックス | 色インデックス | 1 | 0
|
GL_PIXEL_MAP_S_TO_S | ステンシルインデックス | ステンシルインデックス | 1 | 0
|
GL_PIXEL_MAP_I_TO_R | 色インデックス | R | 1 | 0
|
GL_PIXEL_MAP_I_TO_G | 色インデックス | G | 1 | 0
|
GL_PIXEL_MAP_I_TO_B | 色インデックス | B | 1 | 0
|
GL_PIXEL_MAP_I_TO_A | 色インデックス | A | 1 | 0
|
GL_PIXEL_MAP_R_TO_R | R | R | 1 | 0
|
GL_PIXEL_MAP_G_TO_G | G | G | 1 | 0
|
GL_PIXEL_MAP_B_TO_B | B | B | 1 | 0
|
GL_PIXEL_MAP_A_TO_A | A | A | 1 | 0
|
|
エラー
GL_INVALID_ENUM:
map の値が不正な場合に起こる。
GL_INVALID_VALUE:
mapsize が 0 以下か、GL_MAX_PIXEL_MAP_TABLE より
大きい場合に起こる。
GL_INVALID_VALUE:
map が
GL_PIXEL_MAP_I_TO_I,
GL_PIXEL_MAP_S_TO_S,
GL_PIXEL_MAP_I_TO_R,
GL_PIXEL_MAP_I_TO_G,
GL_PIXEL_MAP_I_TO_B,
GL_PIXEL_MAP_I_TO_A
のいずれかであり、かつ mapsize が 2 の累乗で
ない場合に起こる。
GL_INVALID_OPERATION:
glBegin と、その対になる glEnd の間で
glPixelMap が実行されると起こる。
関連する取得値
glGetPixelMap
引き数 GL_PIXEL_MAP_I_TO_I_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_S_TO_S_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_I_TO_R_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_I_TO_G_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_I_TO_B_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_I_TO_A_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_R_TO_R_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_G_TO_G_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_B_TO_B_SIZE を指定した glGet
引き数 GL_PIXEL_MAP_A_TO_A_SIZE を指定した glGet
引き数 GL_MAX_PIXEL_MAP_TABLE を指定した glGet
関連項目
glColorTable(3G),
glColorSubTable(3G),
glConvolutionFilter1D(3G),
glConvolutionFilter2D(3G),
glCopyPixels(3G),
glCopyTexImage1D(3G),
glCopyTexImage2D(3G),
glCopyTexSubImage1D(3G),
glCopyTexSubImage2D(3G),
glDrawPixels(3G),
glHistogram(3G),
glMinmax(3G),
glPixelStore(3G),
glPixelTransfer(3G),
glReadPixels(3G),
glSeparableFilter2D(3G),
glTexImage1D(3G),
glTexImage2D(3G),
glTexImage3D(3G),
glTexSubImage1D(3G),
glTexSubImage2D(3G),
glTexSubImage3D(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:09 GMT, January 12, 2009