Freigeben über


glIndexPointer-Funktion

Die glIndexPointer-Funktion definiert ein Array von Farbindizes.

Syntax

void WINAPI glIndexPointer(
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

Parameter

type

Der Datentyp jedes Farbindexes im Array mit den folgenden symbolischen Konstanten: GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE.

Schritt

Der Byteoffset zwischen aufeinanderfolgenden Farbindizes. Wenn stride null ist, werden die Farbindizes eng im Array gepackt.

Zeiger

Ein Zeiger auf den ersten Farbindex im Array.

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
type war kein akzeptierter Wert.
GL_INVALID_VALUE
stride oder count war negativ.

Bemerkungen

Die glIndexPointer-Funktion gibt den Speicherort und die Daten eines Arrays von Farbindizes an, die beim Rendern verwendet werden sollen. Der Type-Parameter gibt den Datentyp jedes Farbindexes an, und stride bestimmt den Byteoffset von einem Farbindex zum nächsten, wodurch das Packen von Scheitelpunkten und Attributen in einem einzelnen Array oder Speicher in separaten Arrays ermöglicht wird. In einigen Implementierungen kann das Speichern der Scheitelpunkte und Attribute in einem einzelnen Array effizienter sein als die Verwendung separater Arrays. Weitere Informationen finden Sie unter glInterleavedArrays.

Ein Farbindexarray wird aktiviert, wenn Sie die GL_INDEX_ARRAY Konstante mit glEnableClientState angeben. Wenn diese Option aktiviert ist, verwenden glDrawArrays und glArrayElement das Farbindexarray. Standardmäßig ist das Farbindexarray deaktiviert.

Sie können glIndexPointer nicht in Anzeigelisten einschließen.

Wenn Sie ein Farbindexarray mithilfe von glIndexPointer angeben, werden die Werte aller Farbindexarrayparameter der Funktion in einem clientseitigen Zustand gespeichert, und statische Arrayelemente können zwischengespeichert werden. Da die Parameter des Farbindexarrays clientseitig sind, werden ihre Werte nicht von glPushAttrib und glPopAttrib gespeichert oder wiederhergestellt.

Obwohl beim Aufrufen von glIndexPointer innerhalb der GlBegin - und glEnd-Paare kein Fehler generiert wird, sind die Ergebnisse nicht definiert.

Die folgenden Funktionen rufen Informationen im Zusammenhang mit glIndexPointer ab:

glIsEnabled mit Argument GL_INDEX_ARRAY

glGet mit Argument GL_INDEX_ARRAY_STRIDE

glGet mit Argument GL_INDEX_ARRAY_COUNT

glGet mit Argument GL_INDEX_ARRAY_TYPE

glGet mit Argument GL_INDEX_ARRAY_SIZE

glGetPointerv mit Argument GL_INDEX_ARRAY_POINTER

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

glEdgeFlagPointer

glGetPointerv

glGetString

glNormalPointer

glPushAttrib

glTexCoordPointer

glVertexPointer