glGetVertexAttrib

Aus DGL Wiki
Version vom 27. September 2006, 15:24 Uhr von La Boda (Diskussion | Beiträge) (Zugehörige Wertrückgaben)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

glGetVertexAttrib

Name

glGetVertexAttrib - Gibt Parameter generischer Vertexattribute aus


Delphi-Spezifikation

procedure glGetVertexAttribdv(index : GLuint; pname : GLenum; params : PGLdouble);
procedure glGetVertexAttribfv(index : GLuint; pname : GLenum; params : PGLfloat);
procedure glGetVertexAttribiv(index : GLuint; pname : GLenum; params : PGLint);


Parameter

index Gibt den Parameter eines generischen Vertexattributs an, das abgefragt werden soll.
pname Gibt den symbolischen Namen des abzufragenden Parameters an. GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED und GL_CURRENT_VERTEX_ATTRIB sind hier zulässig.
params Beinhaltet die abgefragten Daten.


Beschreibung

glGetVertexAttrib gibt nach params den Wert eines Parameters eines generischen Vertexattributs aus. Das generische Vertexattribut, das abgefragt werden soll, wird durch index angegeben und der Parameter durch pname.


Folgende Parameter-Bezeichnungen sind zulässig:


GL_VERTEX_ATTRIB_ARRAY_ENABLED

params gibt einen Wert aus, der nicht 0 (also GL_TRUE) ist, wenn das Vertexattribut-Array für index aktiv ist, und 0 (GL_FALSE), wenn es deaktiviert ist. Der Standard-Wert ist GL_FALSE.


GL_VERTEX_ATTRIB_ARRAY_SIZE

params gibt einen Wert aus, der die Größe des Vertexattribut-Arrays für index repräsentiert. Die Größe ist die Anzahl der Werte für jedes Element des Vertexattribut-Arrays und ist 1, 2, 3 oder 4. Der Standard-Wert ist 4.


GL_VERTEX_ATTRIB_ARRAY_STRIDE

params gibt den Array-Abstand (also die Zahl der Bytes zwischen zwei Elementen) eines Vertexattribut-Arrays für index an. 0 zeigt an, dass die Array-Elemente im Speicher aufeinanderfolgend abgespeichert werden. Der Standard-Wert ist 0.


GL_VERTEX_ATTRIB_ARRAY_TYPE

params gibt einen Wert aus, der eine symbolische Konstante darstellt, die den Array-Typ des Vertexattribut-Arrays für index angibt. Mögliche Werte sind GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT und GL_DOUBLE. Der Standard-Wert ist GL_FLOAT.


GL_VERTEX_ATTRIB_ARRAY_NORMALIZED

params gibt einen Wert aus, der nicht 0 (also GL_TRUE) ist, wenn Festkomma - Datentypen des Vertexattribut-Arrays index normiert werden, falls sie zu Fließkommazahlen konvertiert werden, und 0 (GL_FALSE), wenn das nicht der Fall ist. Der Standard-Wert ist GL_FALSE.


GL_CURRENT_VERTEX_ATTRIB

params gibt vier Werte aus, die den aktuellen Wert für das durch index spezifizierte generische Vertexattribut repräsentieren. Das generische Vertexattribut 0 ist das einzige, das keinen State hat, es wird folglich ein Fehler generiert, wenn index 0 ist. Der Standard-Wert für alle anderen generischen Vertexattribute ist (0, 0, 0, 1).


Alle der Parameter außschließlich GL_CURRENT_VERTEX_ATTRIB repräsentieren client-seitige States.

Hinweise

glGetVertexAttrib ist nur verfügbar, wenn die verwendete OpenGL-Version größer gleich 2.0 ist.


Wenn ein Fehler generiert wird, werden am Inhalt von params keine Veränderungen vorgenommen.


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn index größer gleich GL_MAX_VERTEX_ATTRIBS ist.

GL_INVALID_ENUM wird generiert, wenn pname kein zulässiger Wert ist.

GL_INVALID_OPERATION wird generiert, wenn index 0 und gleichzeitig pname GL_CURRENT_VERTEX_ATTRIB ist.


Zugehörige Wertrückgaben

glGet mit Token GL_MAX_VERTEX_ATTRIBS

glGetVertexAttribPointer mit den Argumenten index und GL_VERTEX_ATTRIB_ARRAY_POINTER

Siehe auch

glBindAttribLocation, glDisableVertexAttribArray, glEnableVertexAttribArray, glVertexAttrib, glVertexAttribPointer