glGetVertexAttrib
Inhaltsverzeichnis
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