glPixelMapuiv 函数

glPixelMapuiv 函数设置像素传输映射。

语法

void WINAPI glPixelMapuiv(
         GLenum  map,
         GLsizei mapsize,
   const GLuint  *values
);

参数

map

符号映射名称。 十个地图如下所示。

Value 含义
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 函数可以检索以下错误代码。

名称 含义
GL_INVALID_ENUM
map 不是接受的值。
GL_INVALID_VALUE
地图化 为负数或大于GL_PIXEL_MAP_TABLE。
GL_INVALID_VALUE
地图 是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_INVALID_OPERATION
函数在 对 glBegin 的调用和 glEnd 的相应调用之间调用。

注解

glPixelMap 函数设置翻译表, 或地图,由 glCopyPixelsglCopyTexImage1D、glCopyTexImage2DglCopyTexSubImage1DglCopyTexSubImage2DglDrawPixelsglReadPixelsglTexImage1DglTexImage2DglTexSubImage1D 和 glTexSubImage2D 使用。 这些地图的使用在 glPixelTransfer 主题中完全描述,部分描述为像素和纹理图像命令的主题。 本主题仅介绍了地图的规范。

映射参数是一个符号映射名称,指示要设置的十个映射之一。 mapsize 参数指定地图中的条目数,是指向地图值的数组的指针。

映射中的条目可以指定为单精度浮点数、无符号短整数或无符号长整数。 地图存储颜色分量值 (GL_PIXEL_MAP_I_TO_I和GL_PIXEL_MAP_S_TO_S) 以浮点格式保留其值,且大小未指定。 glPixelMapfv 指定的浮点值直接转换为这些地图的内部浮点格式,然后固定到范围 [0,1]。 glPixelMapusvglPixelMapuiv 指定的无符号整数值将线性转换,使最大可表示整数映射到 1.0,零映射到 0.0。

存储索引、GL_PIXEL_MAP_I_TO_I和GL_PIXEL_MAP_S_TO_S的地图以固定点格式保留其值,二进制点右侧的位数未指定。 glPixelMapfv 指定的浮点值直接转换为这些映射的内部固定点格式。 glPixelMapusvglPixelMapuiv 指定的无符号整数值指定整数值,二进制点右侧的所有零。

下表显示了每个地图的初始大小和值。 由颜色或模具索引编制索引的地图对于某些 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

带参数的 glGet GL_PIXEL_MAP_I_TO_R_SIZE

带参数的 glGet GL_PIXEL_MAP_I_TO_G_SIZE

带参数GL_PIXEL_MAP_I_TO_B_SIZE的 glGet

带参数的 glGet GL_PIXEL_MAP_I_TO_A_SIZE

带参数GL_PIXEL_MAP_R_TO_R_SIZE的 glGet

带参数的 glGet GL_PIXEL_MAP_G_TO_G_SIZE

带参数GL_PIXEL_MAP_B_TO_B_SIZE的 glGet

带参数的 glGet GL_PIXEL_MAP_A_TO_A_SIZE

带参数GL_MAX_PIXEL_MAP_TABLE的 glGet

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glCopyPixels

glDrawPixels

glEnd

glPixelStore

glPixelTransfer

glReadPixels

glTexImage1D

glTexImage2D