glDeleteProgram: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Neuer Artikel - Bitte korrekturlesen)
 
K (Kategorisierung unter GL2.0)
Zeile 4: Zeile 4:
 
'''glDeleteProgram''' - Gibt ein Programmobjekt frei.
 
'''glDeleteProgram''' - Gibt ein Programmobjekt frei.
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 +
procedure '''glDeleteProgram'''(''program'' : GLuint);
 +
  
procedure '''glDeleteProgram'''(''program'' : GLuint);
 
  
 
== Parameter ==
 
== Parameter ==
Zeile 25: Zeile 27:
 
Falls ''program'' ein Wert von 0 übergeben wurde, wird dies schweigend ignoriert.
 
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.
+
Um zu bestimmen ob das Objekt zum Freigeben gekennzeichnet wurde, rufen Sie [[glGetProgram]] mit den Argumenten ''program'' und '''GL_DELETE_STATUS''' auf.
 +
 
  
<br>
 
  
 
== Hinweise ==
 
== Hinweise ==
 
'''glDeleteProgram''' ist erst ab OpenGL Version 2.0 oder größer verfügbar.
 
'''glDeleteProgram''' ist erst ab OpenGL Version 2.0 oder größer verfügbar.
 +
  
  
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
'''GL_INVALID_VALUE''' wird generiert wenn ''program'' kein von OpenGL generierter Wert ist.<br>
+
'''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.  
+
 
 +
'''GL_INVALID_OPERATION''' wird generiert, wenn '''glDeleteProgram''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.  
  
  
Zeile 42: Zeile 46:
 
[[glGet]] mit dem Argument [[glGet#GL_CURRENT_PROGRAM|GL_CURRENT_PROGRAM]]
 
[[glGet]] mit dem Argument [[glGet#GL_CURRENT_PROGRAM|GL_CURRENT_PROGRAM]]
  
[[glGetProgram]] mit den Argumenten ''program'' und GL_DELETE_STATUS
+
[[glGetProgram]] mit den Argumenten ''program'' und '''GL_DELETE_STATUS'''
  
 
[[glIsProgram]]
 
[[glIsProgram]]
Zeile 52: Zeile 56:
  
 
[[Kategorie:GL|DeleteProgram]]
 
[[Kategorie:GL|DeleteProgram]]
 +
[[Kategorie:GL2.0|DeleteProgram]]
 
[[Kategorie:SHADER_OBJECTS]]
 
[[Kategorie:SHADER_OBJECTS]]

Version vom 26. Mai 2008, 16:40 Uhr

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