Função glColorSubTableEXT
A função glColorSubTableEXT especifica uma parte da paleta da textura de destino a ser substituída.
Sintaxe
void WINAPI glColorSubTableEXT(
GLenum target,
GLsizei start,
GLsizei count,
GLenum format,
GLenum type,
const GLvoid *data
);
Parâmetros
-
destino
-
A textura paletada de destino que deve ter sua paleta alterada. Deve ser TEXTURE_1D ou TEXTURE_2D.
-
start
-
A entrada de índice de paleta inicial da paleta a ser alterada.
-
contagem
-
O número de entradas de índice de paleta da paleta a ser alterada a partir do início. O parâmetro count determina o intervalo de entradas de índice de paleta alteradas.
-
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: - A função glColorSubTableEXT 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 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 mapas para 0,0.
- A função glColorSubTableEXT multiplica os valores de cor resultantes 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].
- Se GL_MAP_COLOR for TRUE, glColorSubTableEXT 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.
- A função glColorSubTableEXT converte as cores RGBA resultantes em fragmentos anexando as coordenadas z e textura da posição do raster atual a cada pixel e atribuindo coordenadas de janela x e y ao nth fragmento de modo quex?
=
xr + nlargura mod
y? = yr +n / width
em que (xr , yr ) é a posição de raster atual. - Esses fragmentos de pixel são tratados da mesma forma que os fragmentos gerados por pontos de rasterização, linhas ou polígonos. A função glColorSubTableEXT aplica mapeamento de textura, neblina e todas as operações de fragmento antes de gravar os fragmentos no quadro.
- GL_RED
Cada pixel é um único componente vermelho.
A função glColorSubTableEXT 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 conjunto verde e azul 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 glColorSubTableEXT converte esse componente no formato interno da mesma forma que o componente verde de um pixel RGBA e o converte 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 glColorSubTableEXT 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 glColorSubTableEXT converte esse componente no formato interno da mesma forma que o componente alfa de um pixel RGBA e o converte 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 glColorSubTableEXT 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 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. As seguintes constantes simbólicas são aceitas: GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT e GL_FLOAT.
A tabela a seguir resume o significado das constantes válidas para o parâmetro de tipo .
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
-
Um ponteiro para os dados de textura paletado. Os dados são tratados como pixels únicos de uma entrada de paleta de textura 1D para uma entrada 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 |
---|---|
|
start ou count era um inteiro inválido. |
|
target, format ou type não era um valor aceito. |
|
A função foi chamada entre uma chamada para glBegin e a chamada correspondente para glEnd. |
Comentários
A função glColorSubTableEXT especifica partes da paleta da textura de destino atual a ser substituída. Ao contrário de glColorTableEXT, você não pode especificar o parâmetro de destino para ser uma paleta de textura de proxy.
Observação
A função glColorSubTableEXT é 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 glColorSubTableEXT, chame glGetString(GL_EXTENSIONS). Se retornar GL_EXT_paletted_texture, há suporte para glColorSubTableEXT . 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 |
|