Compartilhar via


Função glIndexPointer

A função glIndexPointer define uma matriz de índices de cores.

Sintaxe

void WINAPI glIndexPointer(
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

Parâmetros

tipo

O tipo de dados de cada índice de cor na matriz usando as seguintes constantes simbólicas: GL_SHORT, GL_INT, GL_FLOAT GL_DOUBLE.

Passo

O deslocamento de bytes entre índices de cores consecutivos. Quando stride é zero, os índices de cores são fortemente empacotados na matriz.

pointer

Um ponteiro para o primeiro índice de cores na matriz.

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

Comentários

A função glIndexPointer especifica o local e os dados de uma matriz de índices de cores a serem usados durante a renderização. O parâmetro type especifica o tipo de dados de cada índice de cor e stride determina o deslocamento de bytes de um índice de cores para o próximo, permitindo o empacotamento de vértices e atributos em uma única matriz ou armazenamento em matrizes separadas. Em algumas implementações, armazenar os vértices e atributos em uma única matriz pode ser mais eficiente do que usar matrizes separadas. Para obter mais informações, consulte glInterleavedArrays.

Uma matriz de índice de cores é habilitada quando você especifica a constante GL_INDEX_ARRAY com glEnableClientState. Quando habilitados, glDrawArrays e glArrayElement usam a matriz de índice de cores. Por padrão, a matriz de índice de cores está desabilitada.

Você não pode incluir glIndexPointer em listas de exibição.

Quando você especifica uma matriz de índice de cores usando glIndexPointer, os valores de todos os parâmetros de matriz de índice de cores da função são salvos em um estado do lado do cliente e elementos de matriz estáticos podem ser armazenados em cache. Como os parâmetros da matriz de índice de cores são o estado do lado do cliente, seus valores não são salvos ou restaurados por glPushAttrib e glPopAttrib.

Embora nenhum erro seja gerado quando você chama glIndexPointer em pares glBegin e glEnd , os resultados são indefinidos.

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

glIsEnabled com argumento GL_INDEX_ARRAY

glGet com GL_INDEX_ARRAY_STRIDE de argumento

glGet com GL_INDEX_ARRAY_COUNT de argumento

glGet com GL_INDEX_ARRAY_TYPE de argumento

glGet com GL_INDEX_ARRAY_SIZE de argumento

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

glColorPointer

glDrawArrays

glEdgeFlagPointer

glGetPointerv

glGetString

glNormalPointer

glPushAttrib

glTexCoordPointer

glVertexPointer