glColorPointer: Unterschied zwischen den Versionen
I0n0s (Diskussion | Beiträge) (→Beschreibung) |
DGLBot (Diskussion | Beiträge) K (GlColorPointer wurde nach glColorPointer verschoben) |
(kein Unterschied)
|
Version vom 5. Dezember 2005, 20:25 Uhr
Inhaltsverzeichnis
glColorPointer
Name
glColorPointer - definiert ein Feld das Farben enthält.
Delphi-Spezifikation
procedure glColorPointer(size: TGLint; _type: TGLenum; stride: TGLsizei; const _pointer: PGLvoid);
Parameter
size | Gibt an aus wievielen Komponenten die Farbe besteht. (Muss 3 oder 4 sein) |
---|---|
_type | Bestimmt den Datentyp jeder Farbcomponente im Feld. Als Symbolische Konstanten werden GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT und GL_DOUBLE akzeptiert. |
stride | bestimmt den byteabstand zwischen aufeinenderfolgenden farben. wenn stride 0(Standard) ist, wird angenommen, dass die Farben in dem Array dicht gepackt liegen. |
_pointer | Bestimmt einen Zeiger auf die erste Farbkomponente, der ersten Farbe im Feld. |
Beschreibung
glColorPointer bestimmt den Ort und das Datenformat eines Farbkomponenten-Arrays, das zum Rendern benutzt werden soll. size bestimmt die Anzahl an Komponenten pro Farbe und muss 3 oder 4 sein. _type bestimmt den Datentyp jeder Farbkomponente. stride legt den Abstand zwischen den Farben fest, was ermöglicht, dass Vertices und Attribute im einem einzelnen oder aber verschiedenen Arrays liegen.(Einzelspeicherung kann in einigen Implemetationen effizienter sein; siehe glInterleavedArrays)
Wenn ein Farb-Array festgelegt wird, werden size, _type, stride und _pointer als Klientseitiger Status gespeichert.
Um das Farb-Array ein- und auszuschalten, können glEnableClientState und glDisableClientState mit dem Argument GL_COLOR_ARRAY aufgerufen werden. Wenn aktiviert, wird das Farb-Array bei Aufrufen von glDrawArrays, glDrawelements und glArrayElement benutzt.
Hinweise
glColorPointer ist erst ab OpenGL Version 1.1 oder später verfügbar.
Im Initialisierungszustand ist das Farbfeld deaktiviert und wird von glArrayElement, glDrawArrays bzw. glDrawElements nicht benutzt, wenn diese Befehle aufgerufen werden.
Ein Aufruf von glColorPointer innerhalb eines glBegin-glEnd Blocks ist nicht erlaubt. Trotzdem kann es sein, dass kein Fehler generiert wird. Wenn dies geschieht, ist die Operation undefiniert.
glColorPointer ist normalerweise auf der Klientseite implementiert.
Farbfeld Parameter werden klientseitig gespeichert und können deshalb nicht mit glPushAttrib und glPopAttrib gespeichert bzw. wiederhergestellt werden. Benutzen Sie stattdessen glPushClientAttrib und glPopClientAttrib.
Fehlermeldungen
GL_INVALID_VALUE wird generiert wenn size nicht 3 oder 4 ist.
GL_INVALID_ENUM wird generiert wenn _type ein ungültiger Wert zugewiesen wird.
GL_INVALID_VALUE wird generiert wenn stride negativ ist.
Zugehörige Wertrückgaben
glIsEnabled mit dem Token GL_COLOR_ARRAY
glGet mit Token GL_COLOR_ARRAY_SIZE
glGet mit Token GL_COLOR_ARRAY_TYPE
glGet mit Token GL_COLOR_ARRAY_STRIDE
glGetPointerv mit dem Token GL_COLOR_ARRAY_POINTER
Siehe auch
glArrayElement, glDrawArrays, glDrawElements, glEdgeFlagPointer, glEnable, glGetPointerv, glIndexPointer, glInterleavedArrays, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glTexCoordPointer, glVertexPointer