Freigeben über


glInterleavedArrays-Funktion

Die funktion glInterleavedArrays gibt gleichzeitig an und aktiviert mehrere verschachtelte Arrays in einem größeren Aggregatarray.

Syntax

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

Parameter

format

Der Typ des zu aktivierenden Arrays. Der Parameter kann einen der folgenden symbolischen Werte annehmen: 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 oder GL_T4F_C4F_N3F_V4F.

Schritt

Der Offset in Bytes zwischen den einzelnen Aggregatarray-Elementen.

Zeiger

Ein Zeiger auf das erste Element eines Aggregatarrays.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.

Name Bedeutung
GL_INVALID_ENUM
format war kein akzeptierter Wert.
GL_INVALID_VALUE
stride war ein negativer Wert.
GL_INVALID_OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Mit der Funktion glInterleavedArrays können Sie gleichzeitig mehrere verschachtelte Farb-, Normal-, Textur- und Vertexarrays angeben und aktivieren, deren Elemente Teil eines größeren Aggregatarrayelements sind. Bei einigen Speicherarchitekturen ist dies effizienter, als die Arrays separat anzugeben.

Wenn der stride-Parameter 0 ist, werden die Aggregatarrayelemente nacheinander gespeichert. andernfalls treten stride Bytes zwischen aggregierten Arrayelementen auf.

Der Formatparameter dient als Schlüssel, der beschreibt, wie einzelne Arrays aus dem Aggregatarray extrahiert werden:

  • Wenn das Format ein T enthält, werden Texturkoordinaten aus dem verschachtelten Array extrahiert.
  • Wenn C vorhanden ist, werden Farbwerte extrahiert.
  • Wenn N vorhanden ist, werden normale Koordinaten extrahiert.
  • Vertexkoordinaten werden immer extrahiert.
  • Die Ziffern 2, 3 und 4 geben an, wie viele Werte extrahiert werden.
  • F gibt an, dass Werte als Gleitkommawerte extrahiert werden.
  • Wenn 4UB dem C folgt, können Farben auch als 4 Bytes ohne Vorzeichen extrahiert werden. Wenn eine Farbe als 4 bytes ohne Vorzeichen extrahiert wird, befindet sich das folgende Vertexarrayelement an der ersten möglichen gleitkommaorientierten Adresse.

Wenn Sie beim Kompilieren einer Anzeigeliste glInterleavedArrays aufrufen, wird diese nicht in die Liste kompiliert, sondern sofort ausgeführt.

Sie können keine GlInterleavedArrays-Aufrufe in glDisableClientState zwischen Aufrufen von glBegin und dem entsprechenden Aufruf von glEnd einschließen.

Hinweis

Die funktion glInterleavedArrays ist nur in OpenGL Version 1.1 oder höher verfügbar.

Die glInterleavedArrays-Funktion wird auf der Clientseite ohne Protokoll implementiert. Da die Vertexarrayparameter clientseitiger Zustand sind, werden sie nicht von glPushAttrib und glPopAttrib gespeichert oder wiederhergestellt. Verwenden Sie stattdessen glPushClientAttrib und glPopClientAttrib .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Siehe auch

glArrayElement

glColorPointer

glDrawArrays

glDrawElements

glEdgeFlagPointer

glEnableClientState

glGetPointerv

glIndexPointer

glNormalPointer

glPushAttrib

glPushClientAttrib

glTexCoordPointer

glVertexPointer