Compartilhar via


Função glColorPointer

A função glColorPointer define uma matriz de cores.

Sintaxe

void WINAPI glColorPointer(
         GLint   size,
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

Parâmetros

size

O número de componentes por cor. O valor deve ser 3 ou 4.

tipo

O tipo de dados de cada componente de cor em uma matriz de cores. Tipos de dados aceitáveis são especificados com as seguintes constantes: GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT ou GL_DOUBLE.

Passo

O deslocamento de bytes entre cores consecutivas. Quando o passo é zero, as cores são bem embaladas na matriz.

pointer

Um ponteiro para o primeiro componente do primeiro elemento de cor em uma matriz de cores.

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_VALUE
o tamanho não era 3 ou 4.
GL_INVALID_ENUM
type não era um valor aceito.
GL_INVALID_VALUE
stride ou count foi negativo.

Comentários

A função glColorPointer especifica o local e o formato de dados de uma matriz de componentes de cor a serem usados durante a renderização. O parâmetro stride determina o deslocamento de bytes de uma cor para outra, permitindo o empacotamento de atributos de vértice em uma única matriz ou armazenamento em matrizes separadas. Em algumas implementações, armazenar atributos de vértice em uma única matriz pode ser mais eficiente do que o uso de matrizes separadas.

Habilitou a matriz de cores especificando a constante GL_COLOR_ARRAY com glEnableClientState. Chamar glArrayElement, glDrawElements ou glDrawArrays usa a matriz de cores habilitada. Por padrão, a matriz de cores está desabilitada. As chamadas glColorPointer não podem ser inseridas em listas de exibição.

Quando você especifica uma matriz de cores usando glColorPointer, os valores de todos os parâmetros de matriz de cores da função são salvos em um estado do lado do cliente e você pode armazenar em cache elementos de matriz estáticos. Como os parâmetros de matriz de cores estão em um estado do lado do cliente, glPushAttrib e glPopAttrib não salvam nem restauram os valores dos parâmetros.

Embora a especificação da matriz de cores nos pares glBegin e glend não gere um erro, os resultados são indefinidos.

As seguintes funções recuperam informações relacionadas à função glColorPointer :

glIsEnabled com GL_COLOR_ARRAY de argumento

glGet com GL_COLOR_ARRAY_SIZE de argumento

glGet com GL_COLOR_ARRAY_TYPE de argumento

glGet com GL_COLOR_ARRAY_STRIDE de argumento

glGet com GL_COLOR_ARRAY_COUNT de argumento

glGetPointerv com GL_COLOR_ARRAY_POINTER 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

glArrayElement

glBegin

glDrawArrays

glEdgeFlagPointer

glEnableClientState

glEnd

glGet

glGetString

glGetPointerv

glIndexPointer

glIsEnabled

glNormalPointer

glPopAttrib

glPushAttrib

glTexCoordPointer

glVertexPointer