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 0 (null) ist, werden die Farben eng in das 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 _ UNGÜLTIGER _ WERT
size war nicht 3 oder 4.
GL _ INVALID _ ENUM
type war kein akzeptierter Wert.
GL _ UNGÜLTIGER _ WERT
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. 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 Scheitelpunktattributen in einem einzelnen Array effizienter sein als die Verwendung separater Arrays.

Das Farbarray wurde aktiviert, indem die GL _ COLOR _ ARRAY-Konstante mit glEnableClientState angegeben wird. Beim Aufrufen von glArrayElement, glDrawElementsoder glDrawArrays wird das Farbarray verwendet, das aktiviert ist. Standardmäßig ist das Farbarray deaktiviert. Die glColorPointer-Aufrufe können nicht durch Eingabe in Anzeigelisten ausgeführt 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, speichern oder wiederherstellen glPushAttrib und glPopAttrib die Werte der Parameter nicht.

Obwohl die Angabe des Farbarrays innerhalb von glBegin-Paaren und -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

Requirements (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

Weitere Informationen

glArrayElement

glBegin

glDrawArrays

glEdgeFlagPointer

glEnableClientState

glEnd

glGet

glGetString

glGetPointerv

glIndexPointer

glIsEnabled

glNormalPointer

glPopAttrib

glPushAttrib

glTexCoordPointer

glVertexPointer