funzione glVertexPointer

La funzione glVertexPointer definisce una matrice di dati dei vertici.

Sintassi

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

Parametri

size

Numero di coordinate per vertice. Il valore di dimensione deve essere 2, 3 o 4.

type

Tipo di dati di ogni coordinata nella matrice usando le costanti simboliche seguenti: GL_SHORT, GL_INT, GL_FLOAT e GL_DOUBLE.

Passo

Offset di byte tra vertici consecutivi. Quando stride è zero, i vertici sono strettamente compressi nella matrice.

Puntatore

Puntatore alla prima coordinata del primo vertice della matrice.

Valore restituito

Questa funzione non restituisce un valore.

Codici di errore

I codici di errore seguenti possono essere recuperati dalla funzione glGetError .

Nome Significato
GL_INVALID_VALUE
le dimensioni non erano 2, 3 o 4.
GL_INVALID_ENUM
tipo non è stato accettato.
GL_INVALID_VALUE
stride o conteggio è negativo.

Commenti

La funzione glVertexPointer specifica la posizione e i dati di una matrice di coordinate del vertice da usare durante il rendering. Il parametro dimensioni specifica il numero di coordinate per vertice. Il parametro di tipo specifica il tipo di dati di ogni coordinata del vertice. Il parametro stride determina l'offset di byte da un vertice al successivo, consentendo la compressione di vertici e attributi in una singola matrice o archiviazione in matrici separate. In alcune implementazioni, l'archiviazione dei vertici e degli attributi in una singola matrice può essere più efficiente rispetto all'uso di matrici separate (vedere glInterleavedArrays).

Una matrice di vertici è abilitata quando si specifica la costante GL_VERTEX_ARRAY con glEnableClientState. Se abilitato, glDrawArrays, glDrawElements e glArrayElement usano la matrice vertex. Per impostazione predefinita, la matrice del vertice è disabilitata.

Non è possibile includere glVertexPointer negli elenchi di visualizzazione.

Quando si specifica una matrice di vertici usando glVertexPointer, i valori di tutti i parametri della matrice vertex della funzione vengono salvati in uno stato lato client e gli elementi della matrice statica possono essere memorizzati nella cache. Poiché i parametri della matrice dei vertici sono lo stato lato client, i valori non vengono salvati o ripristinati da glPushAttrib e glPopAttrib.

Anche se non viene generato alcun errore se si chiama glVertexPointer all'interno di glBegin e glEnd , i risultati non sono definiti.

Le funzioni seguenti recuperano informazioni correlate a glVertexPointer:

glGet con argomento GL_VERTEX_ARRAY_SIZE

glGet con argomento GL_VERTEX_ARRAY_STRIDE

glGet con argomento GL_VERTEX_ARRAY_COUNT

glGet con argomento GL_VERTEX_ARRAY_TYPE

glGetPointerv con argomento GL_VERTEX_ARRAY_POINTER

glIsEnabled con argomento GL_VERTEX_ARRAY

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Gl.h
Libreria
Opengl32.lib
DLL
Opengl32.dll

Vedi anche

glArrayElement

glColorPointer

glDrawArrays

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glGetString

glIndexPointer

glIsEnabled

glNormalPointer

glTexCoordPointer