Compartilhar via


Função glGetColorTableEXT

A função glGetColorTableEXT obtém os dados da tabela de cores da paleta de texturas de destino atual.

Sintaxe

void WINAPI glGetColorTableEXT(
         GLenum target,
         GLenum format,
         GLenum type,
   const GLvoid *data
);

Parâmetros

destino

A textura de destino que deve ter sua paleta alterada. Deve ser TEXTURE_1D ou TEXTURE_2D.

format

O formato dos dados de pixel. As seguintes constantes simbólicas são aceitas.

Valor Significado
GL_RGBA
Cada pixel é um grupo de quatro componentes na seguinte ordem: vermelho, verde, azul, alfa. O formato RGBA é determinado dessa forma:
  1. A função glGetColorTableEXT converte valores de ponto flutuante diretamente em um formato interno com precisão não especificada. Os valores inteiros com sinal são mapeados linearmente para o formato interno, de modo que o valor inteiro representável mais positivo mapeia para 1,0 e o valor inteiro representável mais negativo é mapeado para -1,0. Os dados inteiros sem sinal são mapeados da mesma forma: o maior valor inteiro é mapeado para 1,0 e zero é mapeado para 0,0.
  2. A função glGetColorTableEXT multiplica os valores de cor resultantes por GL_c_SCALE e os adiciona a GL_c_BIAS, em que c é VERMELHO, VERDE, AZUL e ALFA para os respectivos componentes de cor. Os resultados são fixados no intervalo [0,1].
  3. Se GL_MAP_COLOR for TRUE, glGetColorTableEXT dimensiona cada componente de cor pelo tamanho da tabela de pesquisa GL_PIXEL_MAP_c_TO_c, em seguida, substitui o componente pelo valor referenciado nessa tabela; c é R, G, B ou A, respectivamente.
  4. A função glGetColorTableEXT converte as cores RGBA resultantes em fragmentos anexando as coordenadas z e textura da posição do varredura atual a cada pixel e atribuindo coordenadas de janela x e y ao nfragmento, de modo que x? = xr + nlargura mod
    y? = yr + n/width
    em que (xr , yr ) é a posição de varredura atual.
  5. Esses fragmentos de pixel são tratados da mesma forma que os fragmentos gerados por pontos, linhas ou polígonos de rasterização. A função glGetColorTableEXT aplica mapeamento de textura, neblina e todas as operações de fragmento antes de gravar os fragmentos no framebuffer.
GL_RED
Cada pixel é um único componente vermelho.
A função glGetColorTableEXT converte esse componente no formato interno da mesma forma que o componente vermelho de um pixel RGBA e o converte em um pixel RGBA com verde e azul definido como 0,0 e alfa definido como 1,0. Após essa conversão, o pixel é tratado como se tivesse sido lido como um pixel RGBA.
GL_GREEN
Cada pixel é um único componente verde.
A função glGetColorTableEXT converte esse componente no formato interno da mesma forma que o componente verde de um pixel RGBA e, em seguida, converte-o em um pixel RGBA com vermelho e azul definido como 0,0 e alfa definido como 1,0. Após essa conversão, o pixel é tratado como se tivesse sido lido como um pixel RGBA.
GL_BLUE
Cada pixel é um único componente azul.
A função glGetColorTableEXT converte esse componente no formato interno da mesma forma que o componente azul de um pixel RGBA e o converte em um pixel RGBA com vermelho e verde definido como 0,0 e alfa definido como 1,0. Após essa conversão, o pixel é tratado como se tivesse sido lido como um pixel RGBA.
GL_ALPHA
Cada pixel é um único componente alfa.
A função glGetColorTableEXT converte esse componente no formato interno da mesma forma que o componente alfa de um pixel RGBA e, em seguida, converte-o em um pixel RGBA com vermelho, verde e azul definido como 0,0. Após essa conversão, o pixel é tratado como se tivesse sido lido como um pixel RGBA.
GL_RGB
Cada pixel é um grupo de três componentes nesta ordem: vermelho, verde, azul.
A função glGetColorTableEXT converte cada componente no formato interno da mesma forma que os componentes vermelho, verde e azul de um pixel RGBA. A cor tripla é convertida em um pixel RGBA com alfa definido como 1,0. Após essa conversão, o pixel é tratado como se tivesse sido lido como um pixel RGBA.
GL_BGR_EXT
Cada pixel é um grupo de três componentes nesta ordem: azul, verde, vermelho.
GL_BGR_EXT fornece um formato que corresponde ao layout de memória de DIBs (bitmaps independentes de dispositivo) do Microsoft Windows. Assim, seus aplicativos podem usar os mesmos dados com chamadas de função do Windows e chamadas de função de pixel OpenGL.
GL_BGRA_EXT
Cada pixel é um grupo de quatro componentes nesta ordem: azul, verde, vermelho, alfa.
GL_BGRA_EXT fornece um formato que corresponde ao layout de memória de DIBs (bitmaps independentes de dispositivo) do Windows. Assim, seus aplicativos podem usar os mesmos dados com chamadas de função do Windows e chamadas de função de pixel OpenGL.

tipo

O tipo de dados para dados. A seguir estão as constantes simbólicas aceitas e seus significados.

Valor Significado
GL_UNSIGNED_BYTE
Inteiro de 8 bits sem sinal
GL_BYTE
Inteiro de 8 bits com sinal
GL_UNSIGNED_SHORT
Inteiro de 16 bits sem sinal
GL_SHORT
Inteiro de 16 bits com sinal
GL_UNSIGNED_INT
Inteiro de 32 bits sem sinal
GL_INT
Inteiro de 32 bits
GL_FLOAT
Valor do ponto flutuante de precisão simples

data

Aponta para o local em que as informações da tabela de cores retornadas devem ser armazenadas. Cada entrada de tabela de cores é armazenada como se fosse um único pixel de uma textura 1D. Como todas as texturas têm uma paleta padrão, glGetColorTableEXT sempre retorna informações de paleta mesmo que os dados de textura não estejam em um formato de paleta.

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
destino, formato ou tipo não era um valor aceito.
GL_INVALID_OPERATION
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd.

Comentários

A função glGetColorTableEXT obtém os dados reais da tabela de cores especificados por glColorTableEXT e glColorSubTableEXT.

A função glGetColorTableEXT é uma função de extensão que não faz parte da biblioteca OpenGL padrão, mas faz parte da extensão GL_EXT_paletted_texture. Para marcar se a implementação do OpenGL dá suporte a glGetColorTableEXT, chame glGetString(GL_EXTENSIONS). Se ele retornar GL_EXT_paletted_texture, há suporte para glGetColorTableEXT . Para obter o endereço de função de uma função de extensão, chame wglGetProcAddress.

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

Confira também

glColorSubTableEXT

glColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

wglGetProcAddress