Compartilhar via


Função glVertexPointer

A função glVertexPointer define uma matriz de dados de vértice.

Sintaxe

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

Parâmetros

size

O número de coordenadas por vértice. O valor de size deve ser 2, 3 ou 4.

tipo

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

Passo

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

pointer

Um ponteiro para a primeira coordenada do primeiro vértice 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_VALUE
o tamanho não era 2, 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 glVertexPointer especifica o local e os dados de uma matriz de coordenadas de vértice a serem usadas durante a renderização. O parâmetro size especifica o número de coordenadas por vértice. O parâmetro type especifica o tipo de dados de cada coordenada de vértice. O parâmetro stride determina o deslocamento de bytes de um vértice 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).

Uma matriz de vértice é habilitada quando você especifica a constante GL_VERTEX_ARRAY com glEnableClientState. Quando habilitados, glDrawArrays, glDrawElements e glArrayElement usam a matriz de vértice. Por padrão, a matriz de vértice está desabilitada.

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

Quando você especifica uma matriz de vértice usando glVertexPointer, os valores de todos os parâmetros de matriz de vértice 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 de matriz de vértice são estado do lado do cliente, seus valores não são salvos ou restaurados por glPushAttrib e glPopAttrib.

Embora nenhum erro seja gerado se você chamar glVertexPointer nos pares glBegin e glEnd , os resultados serão indefinidos.

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

glGet com GL_VERTEX_ARRAY_SIZE de argumento

glGet com GL_VERTEX_ARRAY_STRIDE de argumento

glGet com GL_VERTEX_ARRAY_COUNT de argumento

glGet com GL_VERTEX_ARRAY_TYPE de argumento

glGetPointerv com GL_VERTEX_ARRAY_POINTER de argumento

glIsEnabled com argumento GL_VERTEX_ARRAY

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

glEnableClientState

glGetPointerv

glGetString

glIndexPointer

glIsEnabled

glNormalPointer

glTexCoordPointer