Share via


funzione glDrawElements

La funzione glDrawElements esegue il rendering delle primitive dai dati della matrice.

Sintassi

void WINAPI glDrawElements(
         GLenum  mode,
         GLsizei count,
         GLenum  type,
   const GLvoid  *indices
);

Parametri

mode

Tipo di primitive di cui eseguire il rendering. Può presupporre uno dei valori simbolici seguenti: GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS e GL_POLYGON.

count

Numero di elementi di cui eseguire il rendering.

type

Tipo dei valori negli indici. Deve essere uno dei GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT o GL_UNSIGNED_INT.

Indici

Puntatore alla posizione in cui sono archiviati gli indici.

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_ENUM
mode non è un valore accettato.
GL_INVALID_VALUE
count è un valore negativo.
GL_INVALID_OPERATION
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

La funzione glDrawElements consente di specificare più primitive geometriche con poche chiamate di funzione. Anziché chiamare una funzione OpenGL per passare ogni singolo vertice, normale o colore, è possibile specificare in anticipo matrici separate di vertici, normali e colori e usarle per definire una sequenza di primitive (tutti dello stesso tipo) con una singola chiamata a glDrawElements.

Quando si chiama la funzione glDrawElements , usa gli elementi sequenziali degli indici per costruire una sequenza di primitive geometriche. Il parametro mode specifica il tipo di primitive costruite e il modo in cui gli elementi della matrice vengono usati per costruire queste primitive. Se GL_VERTEX_ARRAY non è abilitato, non vengono generate primitive geometriche.

Gli attributi vertice modificati da glDrawElements hanno un valore non specificato dopo la restituzione di glDrawElements . Ad esempio, se GL_COLOR_ARRAY è abilitato, il valore del colore corrente non è definito dopo l'esecuzione di glDrawElements . Gli attributi che non vengono modificati rimangono invariati.

È possibile includere la funzione glDrawElements negli elenchi di visualizzazione. Quando glDrawElements è incluso in un elenco di visualizzazione, vengono immessi anche i dati della matrice necessari (determinati dai puntatori di matrice e abilita) nell'elenco di visualizzazione. Poiché i puntatori di matrice e abilita sono variabili di stato lato client, i relativi valori influiscono sugli elenchi di visualizzazione quando vengono creati gli elenchi, non quando vengono eseguiti gli elenchi.

Nota

La funzione glDrawElements è disponibile solo in OpenGL versione 1.1 o successiva.

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

glBegin

glColorPointer

glDrawArrays

glEdgeFlagPointer

glEnd

glGetPointerv

glIndexPointer

glNormalPointer

glTexCoordPointer

glVertexPointer