glPixelMapusv 函数
glPixelMapusv 函数设置像素传输映射。
语法
void WINAPI glPixelMapusv(
GLenum map,
GLsizei mapsize,
const GLushort *values
);
参数
-
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
将颜色索引映射到 alpha 分量。 - GL_PIXEL_MAP_R_TO_R
将红色组件映射到红色组件。 - GL_PIXEL_MAP_G_TO_G
将绿色组件映射到绿色组件。 - GL_PIXEL_MAP_B_TO_B
将蓝色组件映射到蓝色组件。 - GL_PIXEL_MAP_A_TO_A
将 alpha 分量映射到 alpha 分量。 -
mapsize
-
要定义的映射的大小。
-
值
-
映射值的数组。
返回值
此函数不返回值。
错误代码
glGetError 函数可以检索以下错误代码。
名称 | 含义 |
---|---|
|
map 不是接受的值。 |
|
mapsize 为负或大于 GL_PIXEL_MAP_TABLE。 |
|
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 的幂。 |
|
函数是在 对 glBegin 的调用和对 glEnd 的相应调用之间调用的。 |
备注
glPixelMap 函数设置转换表, 或映射,由 glCopyPixels、glCopyTexImage1D、glCopyTexImage2D、glCopyTexSubImage1D、glCopyTexSubImage2D、glDrawPixels、glReadPixels、glTexImage1D、glTexImage2D、glTexSubImage1D 和 glTexSubImage2D 使用。 glPixelTransfer 主题中完整地介绍了这些映射的用法,部分在像素和纹理图像命令的主题中介绍。 本主题仅介绍地图的规范。
map 参数是符号映射名称,指示要设置的十个映射之一。 mapsize 参数指定映射中的条目数,值是指向 mapize 地图值数组的指针。
映射中的条目可以指定为单精度浮点数、无符号短整数或无符号长整数。 存储颜色分量值的映射 (除GL_PIXEL_MAP_I_TO_I和GL_PIXEL_MAP_S_TO_S) 以浮点格式保留其值,并具有未指定的尾数和指数大小。 glPixelMapfv 指定的浮点值将直接转换为这些映射的内部浮点格式,然后固定到范围 [0,1]。 glPixelMapusv 和 glPixelMapuiv 指定的无符号整数值以线性方式转换,使最大的可表示整数映射到 1.0,零映射到 0.0。
存储索引GL_PIXEL_MAP_I_TO_I和GL_PIXEL_MAP_S_TO_S的映射以定点格式保留其值,二进制点右侧有未指定的位数。 glPixelMapfv 指定的浮点值将直接转换为这些映射的内部定点格式。 glPixelMapusv 和 glPixelMapuiv 指定的无符号整数值指定整数值,二进制点右侧为所有零。
下表显示了每个映射的初始大小和值。 对于某些 n,由颜色索引或模具索引编制索引的映射必须具有地图大小 = 2 ^ n,否则结果未定义。 每个映射允许的最大大小取决于实现,可以通过使用参数GL_MAX_PIXEL_MAP_TABLE调用 glGet 来确定。 单个最大值适用于所有映射,并且至少为 32。
映射 | 查找索引 | 查找值 | 初始大小 | 初始值 |
---|---|---|---|---|
GL_PIXEL_MAP_I_TO_I | 颜色索引 | 颜色索引 | 1 | 0.0 |
GL_PIXEL_MAP_S_TO_S | 模具索引 | 模具索引 | 1 | 0.0 |
GL_PIXEL_MAP_I_TO_R | 颜色索引 | R | 1 | 0.0 |
GL_PIXEL_MAP_I_TO_G | 颜色索引 | G | 1 | 0.0 |
GL_PIXEL_MAP_I_TO_B | 颜色索引 | B | 1 | 0.0 |
GL_PIXEL_MAP_I_TO_A | 颜色索引 | A | 1 | 0.0 |
GL_PIXEL_MAP_R_TO_R | R | R | 1 | 0.0 |
GL_PIXEL_MAP_G_TO_G | G | G | 1 | 0.0 |
GL_PIXEL_MAP_B_TO_B | B | B | 1 | 0.0 |
GL_PIXEL_MAP_A_TO_A | A | A | 1 | 0.0 |
以下函数检索与 glPixelMap 相关的信息:
带参数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
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|