funzione glInterleavedArrays

La funzione glInterleavedArrays specifica e abilita contemporaneamente diverse matrici interleaved in una matrice di aggregazione più grande.

Sintassi

void WINAPI glInterleavedArrays(
         GLenum  format,
         GLsizei stride,
   const GLvoid  *pointer
);

Parametri

format

Tipo di matrice da abilitare. Il parametro può assumere uno dei valori simbolici seguenti: GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F o GL_T4F_C4F_N3F_V4F.

Passo

Offset in byte tra ogni elemento della matrice di aggregazione.

Puntatore

Puntatore al primo elemento di una matrice di aggregazione.

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

Commenti

Con la funzione glInterleavedArrays , è possibile specificare e abilitare contemporaneamente diverse matrici di colori interleaved, normali, trama e vertici i cui elementi fanno parte di un elemento di matrice di aggregazione più grande. Per alcune architetture di memoria, questa operazione è più efficiente rispetto alla specifica delle matrici separatamente.

Se il parametro stride è zero, gli elementi della matrice di aggregazione vengono archiviati consecutivamente; in caso contrario, i byte stride si verificano tra gli elementi della matrice di aggregazione.

Il parametro format funge da chiave che descrive come estrarre singole matrici dalla matrice di aggregazione:

  • Se il formato contiene una T, le coordinate della trama vengono estratte dalla matrice interleaved.
  • Se C è presente, i valori dei colori vengono estratti.
  • Se N è presente, vengono estratte le coordinate normali.
  • Le coordinate dei vertici vengono sempre estratte.
  • Le cifre 2, 3 e 4 indicano il numero di valori estratti.
  • F indica che i valori vengono estratti come valori a virgola mobile.
  • Se 4UB segue il C, i colori possono essere estratti anche come 4 byte senza segno. Se un colore viene estratto come 4 byte senza segno, l'elemento della matrice vertice che segue si trova al primo indirizzo allineato a virgola mobile possibile.

Se si chiama glInterleavedArrays durante la compilazione di un elenco di visualizzazione, non viene compilato nell'elenco ma viene eseguito immediatamente.

Non è possibile includere chiamate a glInterleavedArrays in glDisableClientState tra le chiamate a glBegin e la chiamata corrispondente a glEnd.

Nota

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

La funzione glInterleavedArrays viene implementata sul lato client senza alcun protocollo. Poiché i parametri della matrice dei vertici sono di tipo lato client, non vengono salvati o ripristinati da glPushAttrib e glPopAttrib. Usare invece glPushClientAttrib e glPopClientAttrib .

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

glDrawElements

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glIndexPointer

glNormalPointer

glPushAttrib

glPushClientAttrib

glTexCoordPointer

glVertexPointer