glDeleteBuffers: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Bot: konvertiere/korrigiere <BR>)
K (Siehe auch)
 
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
  
 
== Name ==
 
== Name ==
'''glDeleteBuffers''' - Gibt eine bestimmte Anzahl ausgewählter Puffer frei.
+
'''glDeleteBuffers''' - Löscht [[VBO|Pufferobjekte]].
  
  
Zeile 11: Zeile 11:
  
 
  procedure '''glDeleteBuffers'''(''n'': TGLsizei; const ''buffers'': PGLuint);
 
  procedure '''glDeleteBuffers'''(''n'': TGLsizei; const ''buffers'': PGLuint);
 
  
  
Zeile 19: Zeile 18:
 
{| border="1" rules="all"
 
{| border="1" rules="all"
 
! ''n''  
 
! ''n''  
| Bestimmt die Anzahl der Puffer aus dem Array ''buffers'' welche freigegeben werden sollen.
+
| Anzahl der Puffer-Objekte aus dem Array ''buffers'', welche gelöscht werden sollen.
 
|-
 
|-
 
! ''buffers''  
 
! ''buffers''  
| Ein Zeiger auf das erste Element eines Feldes welches die [[OpenGL Name]]n der Puffer enthält, die freigegeben werden sollen.
+
| Zeiger auf Feld mit zu löschenden Puffer-Objekt-[[OpenGL Name|Namen]].
 
|}
 
|}
  
  
  
 +
== Beschreibung ==
 +
'''glDeleteBuffers''' löscht ''n'' Pufferobjekte, welche mit dem Feld ''buffers'' angegeben werden. (Jedes Element stellt dabei den (OpenGL)Namen des entsprechenden Pufferobjektes dar. Nachdem ein Pufferobjekt gelöscht wurde, hat es keinen Inhalt mehr, und sein Name ist frei für eine erneute Zuteilung).
  
== Beschreibung ==
+
Enthält ''buffers'' unbenutzte Namen oder den Wert 0, so werden diese beim Löschen stillschweigend ignoriert.
'''glDeleteBuffers''' gibt die ''n'' Pufferobjekte frei, welche durch die Elemente des Feldes ''buffers'' benannt werden. (Jedes Element stellt dabei den (OpenGL)Namen des entsprechenden Pufferobjektes dar. Nachdem ein Pufferobjekt frei gegeben wurde, hat es keinen Inhalt mehr, und sein Name ist frei für eine erneute Zuteilung.
 
 
 
'''glDeleteBuffers''' ignoriert schweigend wenn ''n'' gleich 0 ist, oder wenn Namen im Feld ''buffers'' übergeben werden, die nicht mit existierenden Pufferobjekten assoziert sind.
 
  
  
Zeile 38: Zeile 36:
 
'''glDeleteBuffers''' ist erst ab OpenGL Version 1.5 verfügbar.
 
'''glDeleteBuffers''' ist erst ab OpenGL Version 1.5 verfügbar.
  
Wenn ein Pufferobjekt frei gegeben wird, während es gebunden ist, werden alle Bindungen im aktuellen Kontext (z.B. in dem Thread der '''glDeleteBuffers''' aufgerufen hat) auf 0 gesetzt. In allen anderen Kontexten und Threads sind die Bindungen davon nicht betroffen. Allerdings bedeutet ein Aufruf des Puffers dort dann, dass ein nichtexistenter Puffer benutzt werden soll. Mit der Folge das unvorhersehbare Resultate, das schließt GL Fehler und Renderfehler mit ein, entstehen können. Die Benutzung eines freigegebenen Puffers in einem anderen Thread muss nicht zwingend das Programm beenden (abstürzen lassen).
+
Wird ein Puffer-Objekt gelöscht, während es gebunden ist, werden alle Bindungen dieses Objektes im aktuellen Kontext (z.B. in dem Thread der '''glDeleteBuffers''' aufgerufen hat) auf 0 gesetzt.
 +
In allen anderen Kontexten und Threads sind die Bindungen davon nicht betroffen. Allerdings bedeutet ein Aufruf des Puffers dort dann, dass ein nichtexistenter Puffer benutzt werden soll. Mit der Folge das unvorhersehbare Resultate, einschliesslich GL- und Renderfehler, entstehen können. Die Benutzung eines freigegebenen Puffers in einem anderen Thread muss nicht zwingend das Programm beenden (abstürzen lassen).
  
  
  
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
'''GL_INVALID_VALUE''' wird generiert wenn ''n'' negativ ist.<br>
+
'''GL_INVALID_VALUE''' wird generiert, wenn ''n'' negativ ist.
 
 
 
 
  
  
  
 
== Siehe auch ==
 
== Siehe auch ==
[[glBufferData]], [[glBufferSubData]], [[glBindBuffer]], [[glGenBuffers]]
+
[[glBindBuffer]], [[glBufferData]], [[glBufferSubData]], [[glGenBuffers]], [[glGetBufferParameter]], [[glGetBufferPointerv]], [[glGetBufferSubData]], [[glIsBuffer]], [[glMapBuffer]], [[glUnmapBuffer]]
  
 
[[Kategorie:GL|DeleteBuffers]]
 
[[Kategorie:GL|DeleteBuffers]]
 +
[[Kategorie:GL1.5|DeleteBuffers]]
 +
[[Kategorie:GL3|DeleteBuffers]]

Aktuelle Version vom 21. Februar 2014, 17:53 Uhr

glDeleteBuffers

Name

glDeleteBuffers - Löscht Pufferobjekte.


Delphi-Spezifikation

procedure glDeleteBuffers(n: TGLsizei; const buffers: PGLuint);


Parameter

n Anzahl der Puffer-Objekte aus dem Array buffers, welche gelöscht werden sollen.
buffers Zeiger auf Feld mit zu löschenden Puffer-Objekt-Namen.


Beschreibung

glDeleteBuffers löscht n Pufferobjekte, welche mit dem Feld buffers angegeben werden. (Jedes Element stellt dabei den (OpenGL)Namen des entsprechenden Pufferobjektes dar. Nachdem ein Pufferobjekt gelöscht wurde, hat es keinen Inhalt mehr, und sein Name ist frei für eine erneute Zuteilung).

Enthält buffers unbenutzte Namen oder den Wert 0, so werden diese beim Löschen stillschweigend ignoriert.


Hinweise

glDeleteBuffers ist erst ab OpenGL Version 1.5 verfügbar.

Wird ein Puffer-Objekt gelöscht, während es gebunden ist, werden alle Bindungen dieses Objektes im aktuellen Kontext (z.B. in dem Thread der glDeleteBuffers aufgerufen hat) auf 0 gesetzt. In allen anderen Kontexten und Threads sind die Bindungen davon nicht betroffen. Allerdings bedeutet ein Aufruf des Puffers dort dann, dass ein nichtexistenter Puffer benutzt werden soll. Mit der Folge das unvorhersehbare Resultate, einschliesslich GL- und Renderfehler, entstehen können. Die Benutzung eines freigegebenen Puffers in einem anderen Thread muss nicht zwingend das Programm beenden (abstürzen lassen).


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn n negativ ist.


Siehe auch

glBindBuffer, glBufferData, glBufferSubData, glGenBuffers, glGetBufferParameter, glGetBufferPointerv, glGetBufferSubData, glIsBuffer, glMapBuffer, glUnmapBuffer