glShaderSource

Aus DGL Wiki
Version vom 12. Juli 2004, 12:54 Uhr von Sascha Willems (Diskussion | Beiträge)

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

glShaderSourceARB


Name


glShaderSourceARB - Ersetzt den Quellcode eines Shaderobjektes.


Delphi-Spezifikation


procedure glShaderSourceARB(shaderObj : GLHandleARB; count : glsizei; _string : PPGLCharARB; lengths : pglint);


Parameter


shaderObj Handle des Shaderobjektes dessen Quellcode ersetzt werden soll.
count Anzahl der Elemente in _string und lengths.
_string Zeiger auf den Quelltext der in das Shaderobjekt geladen werden soll.
lengths Länge des Shaderquellcodes (in Zeichen).



Beschreibung


glShaderSourceARB ersetzt den kompletten Quellcode eines Shaders mit dem der per Parameter angegeben wurden. Via count wird angegeben wie viele Elemente _string beinhaltet. Wenn lengths gleich Null ist, dann wird angenommen das jeder String im Quellcode null-terminiert ist, ansonsten gibt lengths an wie lange jedes Quellcodeelement (in Zeichen) ist. Jedes Element in lengths beinhaltet dann die Länge des entsprechenden Quellcodestrings, oder einen Wert < 0 um anzuzeigen dass der entsprechende String null-terminiert ist. Der Quellcode wird zu diesem Zeitpunkt jedoch nicht geprüft, sondern einfach im passenden Shaderobjekt abgelegt.


Hinweise


OpenGL kopiert den Shaderquellcode bei einem Aufruf von glShaderSourceARB, so dass die Anwendung den vom String belegten Speicherplatz nach dessen Aufruf direkt freigeben kann.


Fehlermeldungen


GL_INVALID_VALUE wird generiert wenn shaderObj kein gültiges OpenGL-Objekthandle ist.

GL_INVALID_OPERATION wird generiert wenn shaderObj nicht vom Typ GL_SHADER_OBJECT_ARB ist.

GL_INVALID_OPERATION wird generiert wenn glShaderSourceARB zwischen einem glBegin und dem passenden glEnd aufgerufen wird.


Zugehörige Wertrückgaben


glGetShaderSourceARB mit dem Argument shaderObj.


Siehe auch


glCompileShaderARB, glCreateShaderObjectARB, glDeleteObjectARB
Hintergrundwissen : Shader
Englische Originalversion (Copyright 3DLabs Inc.)