glDeleteShader: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Delphi-Spezifikation)
(Beschreibung)
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 nichtmehr länger an ein Programmobjekt gebunden ist (gilt für Programmobjekte in allen Renderkontexte die es nutzen).
+
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 Renderkontexte 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.
+
Um festzustellen, ob ein Shaderobjekt zur Löschung vorgemerkt ist, kann man [[glGetShader]] mit dem Shaderobjekt und ''GL_DELETE_STATUS'' als Parameter aufrufen.
 
<br>
 
<br>
  

Version vom 8. Juli 2006, 17:55 Uhr

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 Renderkontexte 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
glIsShader


Siehe auch

glCreateProgram, glCreateShader, glDetachShader, glUseProgram