glColorPointer-Funktion

Die glColorPointer-Funktion definiert ein Array von Farben.

Syntax

void WINAPI glColorPointer(
         GLint   size,
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

Parameter

size

Die Anzahl der Komponenten pro Farbe. Der Wert muss entweder 3 oder 4 sein.

type

Der Datentyp jeder Farbkomponente in einem Farbarray. Zulässige Datentypen werden mit den folgenden Konstanten angegeben: GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT oder GL_DOUBLE.

Schritt

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

Zeiger

Ein Zeiger auf die erste Komponente des ersten Farbelements in einem Farbarray.

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_VALUE
Die Größe war nicht 3 oder 4.
GL_INVALID_ENUM
type war kein akzeptierter Wert.
GL_INVALID_VALUE
stride oder count war negativ.

Bemerkungen

Die glColorPointer-Funktion gibt den Speicherort und das Datenformat eines Arrays von Farbkomponenten an, die beim Rendern verwendet werden sollen. Der stride-Parameter bestimmt den Byteoffset von einer Farbe zur nächsten, wodurch das Packen von Vertexattributen in einem einzelnen Array oder Speicher in separaten Arrays ermöglicht wird. In einigen Implementierungen kann das Speichern von Vertexattributen in einem einzelnen Array effizienter sein als die Verwendung separater Arrays.

Das Farbarray wurde aktiviert, indem die GL_COLOR_ARRAY-Konstante mit glEnableClientState angegeben wurde. Beim Aufrufen von glArrayElement, glDrawElements oder glDrawArrays wird das Farbarray verwendet, das somit aktiviert ist. Standardmäßig ist das Farbarray deaktiviert. Die glColorPointer-Aufrufe können nicht in Anzeigelisten eingegeben werden.

Wenn Sie ein Farbarray mit glColorPointer angeben, werden die Werte aller Farbarrayparameter der Funktion in einem clientseitigen Zustand gespeichert, und Sie können statische Arrayelemente zwischenspeichern. Da sich die Farbarrayparameter in einem clientseitigen Zustand befinden, werden die Werte von glPushAttrib und glPopAttrib nicht gespeichert oder wiederhergestellt.

Obwohl das Angeben des Farbarrays in glBegin - und glend-Paaren keinen Fehler generiert, sind die Ergebnisse nicht definiert.

Die folgenden Funktionen rufen Informationen im Zusammenhang mit der GlColorPointer-Funktion ab:

glIsEnabled mit Argument GL_COLOR_ARRAY

glGet mit Argument GL_COLOR_ARRAY_SIZE

glGet mit Argument GL_COLOR_ARRAY_TYPE

glGet mit Argument GL_COLOR_ARRAY_STRIDE

glGet mit Argument GL_COLOR_ARRAY_COUNT

glGetPointerv mit Argument GL_COLOR_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

glBegin

glDrawArrays

glEdgeFlagPointer

glEnableClientState

glEnd

glGet

glGetString

glGetPointerv

glIndexPointer

glIsEnabled

glNormalPointer

glPopAttrib

glPushAttrib

glTexCoordPointer

glVertexPointer