glDeleteObjectARB: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
 
K
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Unvollständig}}
+
{{Veraltet|glDeleteShader}}
 
= glDeleteObjectARB =
 
= glDeleteObjectARB =
  
Zeile 5: Zeile 5:
  
 
== Name ==
 
== Name ==
'''glDeleteObjectARB''' - Gibt ein von OpenGl verwaltetes Objekt frei.
+
'''glDeleteObjectARB''' - Gibt ein von OpenGL verwaltetes Objekt frei.
  
  
Zeile 21: Zeile 21:
 
|}
 
|}
  
<br>
+
 
 +
 
  
 
== Beschreibung ==  
 
== Beschreibung ==  
'''glDeleteObjectARB''' gibt den Speicher und das Handle auf das durch ''Obj'' übergebene OpenGL Objekt frei. (Das Handle ist danach ungültig)
+
'''glDeleteObjectARB''' gibt den Speicher und das Handle auf das durch ''Obj'' übergebene OpenGL Objekt frei. (Das Handle ist danach ungültig.)
 
Die Funktion macht damit den Effekt eines Aufrufs von [[glCreateShaderObjectARB]] oder [[glCreateProgramObjectARB]] rückgängig.
 
Die Funktion macht damit den Effekt eines Aufrufs von [[glCreateShaderObjectARB]] oder [[glCreateProgramObjectARB]] rückgängig.
  
  
Wenn ein freizugebendes Objekt an einem anderen Objekt hängt, wird es markiert, aber nicht freigegeben. Dies geschieht erst, wenn die Bindung an das andere Objekt gelöst wurde. Dies muss für jeden Rendering Kontext gemacht werden (Um das Objekt zu löschen muss es also überall dort losgelöst werden wo es vorher gebunden wurde).
+
Wenn ein freizugebendes Objekt an einem anderen Objekt hängt, wird es markiert, aber nicht freigegeben. Dies geschieht erst, wenn die Bindung an das andere Objekt gelöst wurde. Dies muss für jeden Rendering Kontext gemacht werden. (Um das Objekt zu löschen muss es also überall dort losgelöst werden wo es vorher gebunden wurde.)
  
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 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 andere Objekte angehängt wurden, werden diese Objekte abgekoppelt aber nicht freigegeben außer Sie wurden durch vorangehende Aufrufe von '''glDeleteObjectARB''' als freizugeben markiert.
+
Wenn einem freizugebenden Objekt andere Objekte angehängt wurden, werden diese Objekte abgekoppelt aber nicht freigegeben, außer sie wurden durch vorangehende Aufrufe von '''glDeleteObjectARB''' als freizugeben markiert.
  
  
Um herauszufinden, ob ein Objekt zum Freigeben markiert wurde rufen Sie [[glGetObjectParameterARB]] mit den Argumenten ''Obj'' und '''GL_OBJECT_DELETE_STATUS''' auf.
+
Um herauszufinden, ob ein Objekt zum Freigeben markiert wurde, rufen Sie [[glGetObjectParameterARB]] mit den Argumenten ''Obj'' und '''GL_OBJECT_DELETE_STATUS''' auf.
  
  
Zeile 42: Zeile 43:
  
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
'''GL_INVALID_VALUE''' wird generiert wenn ''Obj'' kein von OpenGL generiertes Objekthandle ist, oder wenn irgendein Handle in ''Obj'' nicht von OpenGL generiert wurde.
+
'''GL_INVALID_VALUE''' wird generiert, wenn ''Obj'' kein von OpenGL generiertes Objekthandle ist, oder wenn irgendein Handle in ''Obj'' nicht von OpenGL generiert wurde.
  
'''GL_INVALID_OPERATION''' wird generiert wenn '''glDeleteObjectARB''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.  
+
'''GL_INVALID_OPERATION''' wird generiert, wenn '''glDeleteObjectARB''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.  
  
  

Aktuelle Version vom 15. April 2008, 11:49 Uhr

Hinweis: Der Inhalt des Artikels gilt als veraltet!

Eine aktuelle Beschreibung bzw. eine aktuelle Version der Funktion finden sie im Artikel glDeleteShader.

(weitere Informationen und Artikel)
Deprecated.jpg

glDeleteObjectARB

Name

glDeleteObjectARB - Gibt ein von OpenGL verwaltetes Objekt frei.


Delphi-Spezifikation

procedure glDeleteObjectARB(Obj: GLHandleARB);


Parameter

Obj Ist das Handle des freizugebenden, von OpenGL verwalteten Objekts.



Beschreibung

glDeleteObjectARB gibt den Speicher und das Handle auf das durch Obj übergebene OpenGL Objekt frei. (Das Handle ist danach ungültig.) Die Funktion macht damit den Effekt eines Aufrufs von glCreateShaderObjectARB oder glCreateProgramObjectARB rückgängig.


Wenn ein freizugebendes Objekt an einem anderen Objekt hängt, wird es markiert, aber nicht freigegeben. Dies geschieht erst, wenn die Bindung an das andere Objekt gelöst wurde. Dies muss für jeden Rendering Kontext gemacht werden. (Um das Objekt zu löschen muss es also überall dort losgelöst werden wo es vorher gebunden wurde.)

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 andere Objekte angehängt wurden, werden diese Objekte abgekoppelt aber nicht freigegeben, außer sie wurden durch vorangehende Aufrufe von glDeleteObjectARB als freizugeben markiert.


Um herauszufinden, ob ein Objekt zum Freigeben markiert wurde, rufen Sie glGetObjectParameterARB mit den Argumenten Obj und GL_OBJECT_DELETE_STATUS auf.


Seit der OpenGL Version 2.0 ist die Funktion in glDeleteShader und glDeleteProgram gesplittet und im Kern enthalten.


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn Obj kein von OpenGL generiertes Objekthandle ist, oder wenn irgendein Handle in Obj nicht von OpenGL generiert wurde.

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


Zugehörige Wertrückgaben

glGetHandleARB mit Token GL_PROGRAM_OBJECT
glGetObjectParameterARB mit den Parametern Obj und GL_OBJECT_DELETE_STATUS


Siehe auch

glCreateProgramObjectARB, glCreateShaderObjectARB, glDetachObjectARB, glUseProgramObjectARB, glDeleteShader, glDeleteProgram