funzione glDrawArrays

La funzione glDrawArrays specifica più primitive da eseguire per il rendering.

Sintassi

void WINAPI glDrawArrays(
   GLenum  mode,
   GLint   first,
   GLsizei count
);

Parametri

mode

Tipo di primitive da eseguire per il rendering. Le costanti seguenti specificano tipi accettabili di primitive: 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.

first

Indice iniziale nelle matrici abilitate.

count

Numero di indici da eseguire per il rendering.

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
il conteggio era negativo.
GL_INVALID_ENUM
la modalità non è stata accettata.
GL_INVALID_OPERATION
La funzione è stata chiamata tra una chiamata a glBegin e la chiamata corrispondente a glEnd.

Commenti

Con glDrawArrays è possibile specificare più primitive geometriche da eseguire per il rendering. Anziché chiamare funzioni OpenGL separate per passare ogni singolo vertice, normale o colore, è possibile specificare matrici separate di vertici, normali e colori per definire una sequenza di primitive (tutti gli stessi tipi) con una singola chiamata a glDrawArrays.

Quando si chiama glDrawArrays, conteggiare gli elementi sequenziali di ogni matrice abilitata vengono usati per costruire una sequenza di primitive geometriche, a partire dal primo elemento. Il parametro mode specifica il tipo di primitiva da costruire e come usare gli elementi della matrice per costruire le primitive.

Dopo aver restituito glDrawArrays , i valori degli attributi dei vertici modificati da glDrawArrays non sono definiti. Se, ad esempio, GL_COLOR_ARRAY è abilitato, il valore del colore corrente non è definito dopo la restituzione di glDrawArrays . Gli attributi non modificati da glDrawArrays rimangono definiti. Quando GL_VERTEX_ARRAY non è abilitato, non vengono generate primitive geometriche, ma vengono modificati gli attributi corrispondenti alle matrici abilitate.

È possibile includere glDrawArrays negli elenchi di visualizzazione. Quando si includono glDrawArrays in un elenco di visualizzazione, i dati della matrice necessari, determinati dai puntatori di matrice e dagli abilita, vengono generati e immessi nell'elenco di visualizzazione. I valori dei puntatori di matrice e abilita vengono determinati durante la creazione di elenchi di visualizzazione.

È possibile leggere i dati della matrice statica in qualsiasi momento. Se gli elementi della matrice statica vengono modificati e la matrice non viene specificata di nuovo, i risultati delle chiamate successive a glDrawArrays non sono definiti.

Anche se non viene generato alcun errore quando si specifica una matrice più di una volta all'interno di glBegin e coppie glend , i risultati non sono definiti.

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

glEdgeFlagPointer

glEnd

glGetPointerv

glGetString

glIndexPointer

glNormalPointer

glTexCoordPointer

glVertexPointer