Função glNormalPointer

A função glNormalPointer define uma matriz de normais.

Sintaxe

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

Parâmetros

tipo

O tipo de dados de cada coordenada na matriz usando as seguintes constantes simbólicas: GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT e GL_DOUBLE.

Passo

O deslocamento de bytes entre normais consecutivos. Quando o passo é zero, os normais são bem embalados na matriz.

pointer

Um ponteiro para o primeiro normal 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_OPERATION
stride ou count foi negativo.

Comentários

A função glNormalPointer especifica o local e os dados de uma matriz de normais a serem usados durante a renderização. O parâmetro type especifica o tipo de dados de cada coordenada normal. O parâmetro stride determina o deslocamento de bytes de um normal 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; consulte glInterleavedArrays para obter detalhes.

Uma matriz normal é habilitada quando você especifica a constante GL_NORMAL_ARRAY com glEnableClientState. Quando habilitado, glDrawArrays, glDrawElements e glArrayElement usam a matriz normal. Por padrão, a matriz normal está desabilitada.

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

Quando você especifica uma matriz normal usando glNormalPointer, os valores de todos os parâmetros de matriz normais da função são salvos em um estado do lado do cliente. Como os parâmetros de matriz normais são salvos em um 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 glNormalPointer em pares glBegin e glEnd , os resultados são indefinidos.

As seguintes funções estão associadas ao glNormalPointer:

glGet com GL_NORMAL_ARRAY_STRIDE de argumento

glGet com GL_NORMAL_ARRAY_COUNT de argumento

glGet com GL_NORMAL_ARRAY_TYPE de argumento

glGetPointerv com GL_NORMAL_ARRAY_POINTER de argumento

glIsEnabled com GL_NORMAL_ARRAY 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

glDrawElements

glDrawArrays

glEnable

glEdgeFlagPointer

glGetPointerv

glIndexPointer

glIsEnabled

glInterleavedArrays

glTexCoordPointer

glVertexPointer

glGetString