glDeleteShader: Unterschied zwischen den Versionen
(→Beschreibung) |
K (→Siehe auch) |
||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
+ | procedure '''glDeleteShader'''(''shader'' : glUInt) | ||
+ | |||
− | |||
== Parameter == | == Parameter == | ||
Zeile 19: | Zeile 20: | ||
|- | |- | ||
|} | |} | ||
− | |||
Zeile 26: | Zeile 26: | ||
'''glDeleteShader''' gibt den von einem Shaderobjekt belegten Speicher frei und löscht dessen Namen. Kehrt also genau dass um, was mit [[glCreateShader]] getan wird. | '''glDeleteShader''' gibt den von einem Shaderobjekt belegten Speicher frei und löscht dessen Namen. Kehrt also genau dass um, was mit [[glCreateShader]] getan wird. | ||
− | Wenn ein zu löschendes Shaderobjekt an ein Programmobjekt angehängt ist, wird es für ein Löschen markiert, aber erst dann gelöscht, wenn es nicht mehr länger an ein Programmobjekt gebunden ist (gilt für Programmobjekte in allen | + | Wenn ein zu löschendes Shaderobjekt an ein Programmobjekt angehängt ist, wird es für ein Löschen markiert, aber erst dann gelöscht, wenn es nicht mehr länger an ein Programmobjekt gebunden ist (gilt für Programmobjekte in allen Renderkontexten, die es nutzen). |
+ | |||
+ | Um festzustellen, ob ein Shaderobjekt zur Löschung vorgemerkt ist, kann man [[glGetShader]] mit dem Shaderobjekt und '''GL_DELETE_STATUS''' als Parameter aufrufen. | ||
+ | |||
− | |||
− | |||
== Hinweise == | == Hinweise == | ||
'''glDeleteShader''' ist ab OpenGL Version 2.0 verfügbar. | '''glDeleteShader''' ist ab OpenGL Version 2.0 verfügbar. | ||
− | + | ||
== Fehlermeldungen == | == Fehlermeldungen == | ||
− | '''GL_INVALID_VALUE''' wird generiert wenn ''shader'' kein gültiger [[OpenGL Name]] ist. | + | '''GL_INVALID_VALUE''' wird generiert wenn ''shader'' kein gültiger [[OpenGL Name]] ist. |
+ | |||
'''GL_INVALID_OPERATION''' wird generiert wenn ''glDeleteShader'' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | '''GL_INVALID_OPERATION''' wird generiert wenn ''glDeleteShader'' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | ||
− | + | ||
+ | |||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == | ||
− | [[glGetAttachedShaders ]] mit dem Namen des Shaderobjektes | + | [[glGetAttachedShaders ]] mit dem Namen des Shaderobjektes |
− | [[glGetShader]] mit dem Token '''GL_DELETE_STATUS''' | + | |
+ | [[glGetShader]] mit dem Token '''GL_DELETE_STATUS''' | ||
+ | |||
[[glIsShader]] | [[glIsShader]] | ||
− | + | ||
Zeile 52: | Zeile 57: | ||
[[Kategorie:GL|DeleteShader]] | [[Kategorie:GL|DeleteShader]] | ||
+ | [[Kategorie:GL2.0|DeleteShader]] | ||
+ | [[Kategorie:GL3|DeleteShader]] |
Aktuelle Version vom 21. Februar 2014, 17:55 Uhr
Inhaltsverzeichnis
glDeleteShader
Name
glDeleteShader - Löscht ein Shaderobjekt.
Delphi-Spezifikation
procedure glDeleteShader(shader : glUInt)
Parameter
shader | Gibt das zu löschende Shaderobjekt an |
---|
Beschreibung
glDeleteShader gibt den von einem Shaderobjekt belegten Speicher frei und löscht dessen Namen. Kehrt also genau dass um, was mit glCreateShader getan wird.
Wenn ein zu löschendes Shaderobjekt an ein Programmobjekt angehängt ist, wird es für ein Löschen markiert, aber erst dann gelöscht, wenn es nicht mehr länger an ein Programmobjekt gebunden ist (gilt für Programmobjekte in allen Renderkontexten, die es nutzen).
Um festzustellen, ob ein Shaderobjekt zur Löschung vorgemerkt ist, kann man glGetShader mit dem Shaderobjekt und GL_DELETE_STATUS als Parameter aufrufen.
Hinweise
glDeleteShader ist ab OpenGL Version 2.0 verfügbar.
Fehlermeldungen
GL_INVALID_VALUE wird generiert wenn shader kein gültiger OpenGL Name ist.
GL_INVALID_OPERATION wird generiert wenn glDeleteShader innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGetAttachedShaders mit dem Namen des Shaderobjektes
glGetShader mit dem Token GL_DELETE_STATUS
Siehe auch
glCreateProgram, glCreateShader, glDetachShader, glUseProgram