glInterleavedArrays-Funktion

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

Syntax

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

Parameter

format

Der Typ des zu aktivierende 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 jedem Aggregatarrayelement.

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 _ UNGÜLTIGER _ WERT
stride war ein negativer Wert.
GL _ INVALID _ OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEndaufgerufen.

Hinweise

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

Wenn der stride-Parameter 0 (null) ist, werden die Aggregatarrayelemente nacheinander gespeichert. andernfalls treten Aggregatarrayelemente in Bytes auf.

Der format-Parameter 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.
  • Scheitelpunktkoordinaten werden immer extrahiert.
  • Die Ziffern 2, 3 und 4 kennzeichnen, 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 vertex-Arrayelement, das folgt, an der ersten möglichen an Gleitkomma ausgerichteten Adresse.

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

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

Hinweis

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

Die glInterleavedArrays-Funktion wird auf clientseitiger Seite ohne Protokoll implementiert. Da die Vertexarrayparameter clientseitig 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