glIndexPointer
(Mehr Informationen/weitere Artikel) {{{1}}} |
Inhaltsverzeichnis
glIndexPointer
Name
glIndexPointer - definiert ein Feld mit Farbindizes.
Delphi-Spezifikation
procedure glIndexPointer(_type: TGLenum; stride: TGLsizei; const _pointer: PGLvoid);
Parameter
_type | Bestimmt den Datentyp aller Farbindizes im Feld. Folgende symbolische Konstanten werden akzeptiert: GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, und GL_DOUBLE |
---|---|
stride | Bestimmt den Byte-Versatz (Offset) für aufeinanderfolgende Farbindizes. Wenn stride gleich 0 ist (Initalwert) werden die Farbindizes dicht zusammengepackt im Feld gespeichert. |
_pointer | Ist der Pointer auf den ersten Farbindex im Feld. |
Beschreibung
glIndexPointer specifies the location and data format of an array of color indexes to use when rendering. type specifies the data type of each color index and stride gives the byte stride from one color index to the next allowing vertexes and attributes to be packed into a single array or stored in separate arrays. (Single-array storage may be more efficient on some implementations; see glInterleavedArrays.)[/i]
glIndexPointer legt den Speicherort und das Format von einem Farben-Index-Array (??) fest, der beim Rendern benutzt wird. type spezifiziert das Format von jedem Farben-Index und stride liefert den Byte-Unterschied von einem Farben-Index zu den nächsten erlaubten Vertices und Attributen, gepackt in ein Single-Array (??) or mehrere seperate Arrays. (Single-Array-Speicherung kann bei einigen Anwendungen effizienter sein; siehe glInterleavedArrays.)
[i] type, stride, and pointer are saved as client-side state.
The color index array is initially disabled. To enable and disable the array, call glEnableClientState and glDisableClientState with the argument GL_INDEX_ARRAY. If enabled, the color index array is used when glDrawArrays, glDrawElements or glArrayElement is called.
type, stride und pointer werden client-seitig (??) gespeichert.
Der Farben-Index-Bereich ist standardmäßig ausgeschaltet. Um den Bereich zu aktivieren bzw deaktivieren, glEnableClientState bzw glDisableClientState mit dem Argument GL_INDEX_ARRAY aufrufen. Falls aktiviert, wird der Farben-Index-Bereich verwendet, wenn glDrawArrays, glDrawElements oder glArrayElement ausgeführt werden.
[i] Use glDrawArrays to construct a sequence of primitives (all of the same type) from prespecified vertex and vertex attribute arrays. Use glArrayElement to specify primitives by indexing vertexes and vertex attributes and glDrawElements to construct a sequence of primitives by indexing vertexes and vertex attributes.</i>
glDrawArrays wird verwendet, um eine Sequenz (?) von Primitiven (?) (alle vom gleichen Typ) von vorher festgelegten Vertices- und Vertex-Attribut-Array zu erzeugen. glVertexElement wird verwendet, um Primitiven durch Indizierung von Vertices und Vertex-Attributen zu spezifizieren. glDrawElements dagegen erzeugt eine Sequenz (?) von Primitiven durch Indizierung von Vertices und Vertex-Attributen.
--Vorschlag (BodaWaschl)
Hinweise
glIndexPointer ist erst ab OpenGL Version 1.1 verfügbar.
Das Farbindexfeld ist nach der Initialisierung der GL deaktiviert und wird nicht benutzt wenn glArrayElement, glDrawElements oder glDrawArrays aufgerufen wird.
glIndexPointer darf nicht innerhalb von glBegin-glEnd Blöcken ausgeführt werden. Wird dies doch gemacht, kann nicht garantiert werden, dass ein Fehler generiert wird. Sollte kein Fehler generiert werden ist die Operation undefiniert.
glIndexPointer ist typischerweise Klientseitig implementiert. (siehe OpenGL Eigenschaften)
Da die Parameter für das Farbindexfeld Zustände des Klientrechners sind, werden sie nicht von glPushAttrib/glPopAttrib gespeichert. Nutzen Sie dazu statt dessen glPushClientAttrib/glPopClientAttrib.
Fehlermeldungen
GL_INVALID_ENUM wird generiert wenn _type kein gültiger Wert übergeben wurde.
GL_INVALID_VALUE wird generiert wenn stride negativ ist.
Zugehörige Wertrückgaben
glIsEnabled mit Token GL_INDEX_ARRAY
glGet mit Token GL_INDEX_ARRAY_TYPE
glGet mit Token GL_INDEX_ARRAY_STRIDE
glGetPointerv mit Token GL_INDEX_ARRAY_POINTER
Siehe auch
glArrayElement, glColorPointer, glDrawArrays, glDrawElements, glEdgeFlagPointer, glEnable, glGetPointerv, glInterleavedArrays, glNormalPointer, glPopClientAttrib, glPushClientAttrib, glTexCoordPointer, glVertexPointer