glGetShaderSource

Aus DGL Wiki
Version vom 27. August 2006, 12:10 Uhr von La Boda (Diskussion | Beiträge)

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

glGetShaderSource

Name

glGetShaderSource - Gibt den Sourcecode-String eines Shaderobjekts aus


Delphi-Spezifikation

procedure glGetShaderSource(shader : GLuint; bufSize : GLsizei
                            length : PGLsizei; source : PGLchar)


Parameter

shader Gibt das Shaderobjekt an, dass abgefragt werden soll.
bufSize Gibt die Größe des Zeichenpuffers zu Speicherung des Sourcecode-Strings an.
length Gibt die Länge des Strings (ausschließlich der Null-Terminierung), der nach source ausgegeben wurde, an.
source Gibt ein Zeichen-Array an, in dem der Sourcecode-String abgelegt wird.


Beschreibung

glGetShaderSource gibt alle Sourcecode-Strings des Shaderobjekts shader auf einmal aus. Die Sourcecode-Strings eines Shaderobjekts sind das Ergebnis eiens vorhergehenden Aufrufs von glShaderSource. Der von der Funktion ausgegene String ist null-terminiert.


glGetShaderSorce gibt nach Source so viel wie möglich vom Sourcecode-String aus, bis maximal bufSize Zeichen. Die Anzahl der wirklich ausgegebenen Zeichen wird ausschließlich der Null-Terminierung durch length angegeben. Wenn die Länge des ausgegebenen Strings unerheblich ist, kann man im length-Argument nil angeben. Die Größe des Puffers, der benötigt wird, den ausgebenen Sourcecode-String zu speichern, kann durch einen Aufruf von glGetShader mit dem Argument GL_SHADER_SOURCE_LENGTH bestimmt werden.


Hinweise

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


Fehlermeldungen

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

GL_INVALID_OPERATION wird generiert, wenn shader kein Shaderobjekt ist.

GL_INVALID_VALUE wird generiert, wenn bufSize kleiner 0 ist.

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


Zugehörige Wertrückgaben

glGetShader mit Token GL_SHADER_SOURCE_LENGTH

glsShader


Siehe auch

glCreateShader, glShaderSource