glGetShader

Aus DGL Wiki
Version vom 6. April 2014, 13:07 Uhr von Glawesome (Diskussion | Beiträge) (Delphi-Spezifikation: glGetShader -> glGetShaderiv)

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

glGetShader

Name

glGetShaderiv - Gibt Parameter von Shaderobjekten aus


Delphi-Spezifikation

procedure glGetShaderiv(shader : GLuint; pname : GLenum; params : PGLint)

Parameter

shader Gibt das Shaderobjekt an, das abgefragt werden soll
pname Gibt den gewünschten Objektparameter an. Zulässig sind GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH und GL_SHADER_SOURCE_LENGTH
params Beinhaltet den Objektparameter


Beschreibung

glGetShader gibt nach params den Wert eines Parameters für einen spezifischen Shader aus. Folgende Parameter sind definiert:


GL_SHADER_TYPE

params gibt GL_VERTEX_SHADER aus, wenn shader ein Vertexshaderobjekt ist, und GL_FRAGMENT_SHADER, wenn shader ein Fragmentshaderobjekt ist.


GL_DELETE_STATUS

params gibt GL_TRUE aus, wenn der Shader zur Löschung markiert wurde, anderenfalls wird GL_FALSE ausgegeben.


GL_COMPILE_STATUS

params gibt GL_TRUE aus, wenn die letzte Kompilier-Operation mit dem Shader erfolgreich verlaufen ist, anderenfalls wird GL_FALSE ausgegeben.


GL_INFO_LOG_LENGTH

params gibt die Anzahl der Zeichen im Information-Log des Shaders (einschließlich der Null-Terminierung) aus. Die Größe des Zeichenpuffers wird zum Beispiel für das Abspeichern des Information-Log benötigt. Wenn der Shader kein Information-Log hat, wird 0 ausgegeben.


GL_SHADER_SOURCE_LENGTH

params gibt die Summe der Längen der Shader-Sourcecodes (einschließlcih der Null-Terminierung) aus. Die Größe des Zeichenpuffers wird zum Beispiel für das Abspeichern des Shader-Sourcecodes benötigt. Wenn kein Sourcecode vorhanden ist, wird 0 ausgegeben.


Hinweise

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

Wenn ein Fehler generiert wird, wird der Inhalt von params nicht verändert.


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn shader kein von OpenGL erzeugter Wert ist.

GL_INVALID_OPERATION wird generiert, wenn shader sich nicht auf ein Shaderobjekt bezieht.

GL_INVALID_ENUM wird generiert, wenn pname ein unzulässiger Wert ist.

GL_INVALID_OPERATION wird generiert wenn glGetShader innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGetShaderInfoLog mit dem Argument shader

glGetShaderSource mit dem Argument shader

glIsShader


Siehe auch

glCompileShader, glCreateShader, glDeleteShader, glGetProgram, glShaderSource