Função glPixelMapuiv

A função glPixelMapuiv configura mapas de transferência de pixel.

Sintaxe

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

Parâmetros

map

Um nome de mapa simbólico. Os dez mapas são os seguintes.

Valor Significado
GL_PIXEL_MAP_I_TO_I
Mapeia índices de cores para índices de cores.
GL_PIXEL_MAP_S_TO_S
Mapeia índices de estêncil para índices de estêncil.
GL_PIXEL_MAP_I_TO_R
Mapeia índices de cores para componentes vermelhos.
GL_PIXEL_MAP_I_TO_G
Mapeia índices de cores para componentes verdes.
GL_PIXEL_MAP_I_TO_B
Mapeia índices de cores para componentes azuis.
GL_PIXEL_MAP_I_TO_A
Mapeia índices de cores para componentes alfa.
GL_PIXEL_MAP_R_TO_R
Mapeia componentes vermelhos para componentes vermelhos.
GL_PIXEL_MAP_G_TO_G
Mapeia componentes verdes para componentes verdes.
GL_PIXEL_MAP_B_TO_B
Mapeia componentes azuis para componentes azuis.
GL_PIXEL_MAP_A_TO_A
Mapeia componentes alfa para componentes alfa.

Mapsize

O tamanho do mapa que está sendo definido.

Valores

Uma matriz de valores mapeados .

Retornar valor

Essa função não retorna um valor.

Códigos de erro

Os códigos de erro a seguir podem ser recuperados pela função glGetError .

Nome Significado
GL_INVALID_ENUM
map não era um valor aceito.
GL_INVALID_VALUE
mapsize foi negativo ou maior que GL_PIXEL_MAP_TABLE.
GL_INVALID_VALUE
O mapa era 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 ou GL_PIXEL_MAP_I_TO_A, e o mapeamento não era uma potência de dois.
GL_INVALID_OPERATION
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd.

Comentários

A função glPixelMap configura tabelas de tradução ou mapas, usados por glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glTexSubImage1D e glTexSubImage2D. O uso desses mapas é descrito completamente no tópico glPixelTransfer e, em parte, nos tópicos para os comandos de imagem de pixel e textura. Somente a especificação dos mapas é descrita neste tópico.

O parâmetro de mapa é um nome simbólico do mapa, indicando um dos dez mapas a serem definidos. O parâmetro mapsize especifica o número de entradas no mapa e os valores são um ponteiro para uma matriz de mapear valores de mapa.

As entradas em um mapa podem ser especificadas como números de ponto flutuante de precisão única, inteiros curtos sem sinal ou inteiros longos sem sinal. Mapas que armazenam valores de componente de cor (todos, exceto GL_PIXEL_MAP_I_TO_I e GL_PIXEL_MAP_S_TO_S) mantêm seus valores no formato de ponto flutuante, com mantissa e tamanhos expoentes não especificados. Os valores de ponto flutuante especificados por glPixelMapfv são convertidos diretamente no formato de ponto flutuante interno desses mapas e, em seguida, fixados no intervalo [0,1]. Valores inteiros sem sinal especificados por glPixelMapusv e glPixelMapuiv são convertidos linearmente, de modo que o maior inteiro representável mapeia para 1,0 e zero é mapeado para 0,0.

Mapas que armazenam índices, GL_PIXEL_MAP_I_TO_I e GL_PIXEL_MAP_S_TO_S, mantêm seus valores no formato de ponto fixo, com um número não especificado de bits à direita do ponto binário. Os valores de ponto flutuante especificados por glPixelMapfv são convertidos diretamente no formato de ponto fixo interno desses mapas. Valores inteiros sem sinal especificados por glPixelMapusv e glPixelMapuiv especificam valores inteiros, com todos os zeros à direita do ponto binário.

A tabela a seguir mostra os tamanhos e valores iniciais para cada um dos mapas. Mapas indexados por índices de cor ou estêncil devem ter mapsize = 2 ^ n para alguns n ou os resultados são indefinidos. O tamanho máximo permitido para cada mapa depende da implementação e pode ser determinado chamando glGet com GL_MAX_PIXEL_MAP_TABLE de argumento. O máximo único se aplica a todos os mapas e é pelo menos 32.

Mapeamento Índice de Pesquisa Valor de Pesquisa Tamanho Inicial Valor inicial
GL_PIXEL_MAP_I_TO_I índice de cores índice de cores 1 0.0
GL_PIXEL_MAP_S_TO_S índice de estêncil índice de estêncil 1 0.0
GL_PIXEL_MAP_I_TO_R índice de cores R 1 0.0
GL_PIXEL_MAP_I_TO_G índice de cores G 1 0.0
GL_PIXEL_MAP_I_TO_B índice de cores B 1 0.0
GL_PIXEL_MAP_I_TO_A índice de cores Um 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 Um 1 0.0

As seguintes funções recuperam informações relacionadas ao glPixelMap:

glGet com GL_PIXEL_MAP_I_TO_I_SIZE de argumento

glGet com GL_PIXEL_MAP_S_TO_S_SIZE de argumento

glGet com GL_PIXEL_MAP_I_TO_R_SIZE de argumento

glGet com GL_PIXEL_MAP_I_TO_G_SIZE de argumento

glGet com GL_PIXEL_MAP_I_TO_B_SIZE de argumento

glGet com GL_PIXEL_MAP_I_TO_A_SIZE de argumento

glGet com GL_PIXEL_MAP_R_TO_R_SIZE de argumento

glGet com GL_PIXEL_MAP_G_TO_G_SIZE de argumento

glGet com GL_PIXEL_MAP_B_TO_B_SIZE de argumento

glGet com GL_PIXEL_MAP_A_TO_A_SIZE de argumento

glGet com GL_MAX_PIXEL_MAP_TABLE de argumento

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll

Confira também

glBegin

glCopyPixels

glDrawPixels

glEnd

glPixelStore

glPixelTransfer

glReadPixels

glTexImage1D

glTexImage2D