glDeleteProgram

Aus DGL Wiki
Version vom 15. Juni 2011, 21:06 Uhr von Shaijan (Diskussion | Beiträge) (Kategorie GL3 hinzugefügt)

Wechseln zu: Navigation, Suche

glDeleteProgram

Name

glDeleteProgram - Gibt ein Programmobjekt frei.


Delphi-Spezifikation

procedure glDeleteProgram(program : GLuint);


Parameter

program Name des Programmobjekts welches freigegeben werden soll.


Beschreibung

glDeleteProgram gibt den Speicher des Programmobjekts, welches durch program' benannt wurde, frei und kennzeichnet diesen Namen als nicht mehr gültig. Im Grunde genommen macht dieser Befehl damit den Effekt eines glCreateProgram-Aufrufs wieder rückgängig.

Wenn ein Objekt als Teil des aktuellen Renderstatus benutzt wird, wird es markiert und erst dann freigegeben wenn es nicht mehr zum aktuellen Renderstatus auf allen Renderkontexten gehört. Wenn einem freizugebenden Objekt Shader-Objekte angehängt wurden, werden diese Objekte abgekoppelt aber nicht freigegeben außer Sie wurden durch vorangehende Aufrufe von glDeleteShader als freizugeben markiert.

Falls program ein Wert von 0 übergeben wurde, wird dies schweigend ignoriert.

Um zu bestimmen ob das Objekt zum Freigeben gekennzeichnet wurde, rufen Sie glGetProgram mit den Argumenten program und GL_DELETE_STATUS auf.


Hinweise

glDeleteProgram ist erst ab OpenGL Version 2.0 oder größer verfügbar.


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn program kein von OpenGL generierter Wert ist.

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


Zugehörige Wertrückgaben

glGet mit dem Argument GL_CURRENT_PROGRAM

glGetProgram mit den Argumenten program und GL_DELETE_STATUS

glIsProgram


Siehe auch

glCreateProgram, glCreateShader, glDetachShader, glUseProgram