glDeleteObject: Unterschied zwischen den Versionen
I0n0s (Diskussion | Beiträge) K (→Zugehörige Wertrückgaben) |
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere <BR>) |
||
Zeile 2: | Zeile 2: | ||
= glDeleteObject (glDeleteObjectARB)= | = glDeleteObject (glDeleteObjectARB)= | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
'''glDeleteObject''' - Gibt ein von OpenGl verwaltetes Objekt frei. | '''glDeleteObject''' - Gibt ein von OpenGl verwaltetes Objekt frei. | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
procedure '''glDeleteObject'''(''Obj'': GLHandle); | procedure '''glDeleteObject'''(''Obj'': GLHandle); | ||
procedure '''glDeleteObjectARB'''(''Obj'': GLHandleARB); | procedure '''glDeleteObjectARB'''(''Obj'': GLHandleARB); | ||
− | + | ||
+ | |||
== Parameter == | == Parameter == | ||
Zeile 20: | Zeile 23: | ||
|} | |} | ||
− | + | ||
+ | |||
== Beschreibung == | == Beschreibung == | ||
Zeile 39: | Zeile 43: | ||
Seit der OpenGL Version 2.0 ist '''glDeleteObject''' im Kern enthalten. Die alte ARB Bezeichnung war '''glDeleteObjectARB'''. | Seit der OpenGL Version 2.0 ist '''glDeleteObject''' im Kern enthalten. Die alte ARB Bezeichnung war '''glDeleteObjectARB'''. | ||
− | + | ||
+ | |||
== Fehlermeldungen == | == Fehlermeldungen == | ||
Zeile 45: | Zeile 50: | ||
'''GL_INVALID_OPERATION''' wird generiert wenn '''glDeleteObject''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | '''GL_INVALID_OPERATION''' wird generiert wenn '''glDeleteObject''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | ||
− | + | ||
+ | |||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == | ||
Zeile 51: | Zeile 57: | ||
[[glGetObjectParameterARB]] mit den Parametern ''Obj'' und '''GL_OBJECT_DELETE_STATUS''' | [[glGetObjectParameterARB]] mit den Parametern ''Obj'' und '''GL_OBJECT_DELETE_STATUS''' | ||
− | + | ||
+ | |||
== Siehe auch == | == Siehe auch == |
Version vom 22. April 2006, 19:19 Uhr
(Mehr Informationen/weitere Artikel) {{{1}}} |
Inhaltsverzeichnis
glDeleteObject (glDeleteObjectARB)
Name
glDeleteObject - Gibt ein von OpenGl verwaltetes Objekt frei.
Delphi-Spezifikation
procedure glDeleteObject(Obj: GLHandle); procedure glDeleteObjectARB(Obj: GLHandleARB);
Parameter
Obj | Ist das Handle des freizugebenden, von OpenGL verwalteten Objekts. |
---|
Beschreibung
glDeleteObject 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 glCreateShader oder glCreateProgram 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 glDeleteObject 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 glDeleteObject im Kern enthalten. Die alte ARB Bezeichnung war glDeleteObjectARB.
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 glDeleteObject innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGet mit Token GL_PROGRAM_OBJECT
glGetObjectParameterARB mit den Parametern Obj und GL_OBJECT_DELETE_STATUS
Siehe auch
glCreateProgram, glCreateShader, glDetachShader, glUseProgram