glDeleteBuffers: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Bot: konvertiere/korrigiere <BR>)
K (Überarbeitung)
Zeile 4: Zeile 4:
  
 
== Name ==
 
== Name ==
'''glDeleteBuffers''' - Gibt eine bestimmte Anzahl ausgewählter Puffer frei.
+
'''glDeleteBuffers''' - Löscht [[VBO|Puffer Objekte]].
  
  
Zeile 19: Zeile 19:
 
{| 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]].
 
|}
 
|}
  
Zeile 29: Zeile 29:
  
 
== Beschreibung ==  
 
== Beschreibung ==  
'''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''' 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).
  
'''glDeleteBuffers''' ignoriert schweigend wenn ''n'' gleich 0 ist, oder wenn Namen im Feld ''buffers'' übergeben werden, die nicht mit existierenden Pufferobjekten assoziert sind.
+
Enthält ''buffers'' unbenutzte Namen oder den Wert 0, so werden diese beim Löschen stillschweigend ignoriert.
  
  
Zeile 38: Zeile 38:
 
'''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).
  
  
Zeile 50: Zeile 51:
  
 
== Siehe auch ==
 
== Siehe auch ==
[[glBufferData]], [[glBufferSubData]], [[glBindBuffer]], [[glGenBuffers]]
+
[[glBindBuffer]], [[glBufferData]], [[glBufferSubData]], [[glGenBuffers]], [[glGetBufferParameter]], [[glGetBufferPointer]], [[glGetBufferSubData]], [[glIsBuffer]], [[glMapBuffer]], [[glUnmapBuffer]]
  
 
[[Kategorie:GL|DeleteBuffers]]
 
[[Kategorie:GL|DeleteBuffers]]

Version vom 2. Juli 2006, 11:35 Uhr

glDeleteBuffers

Name

glDeleteBuffers - Löscht Puffer Objekte.


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, glGetBufferPointer, glGetBufferSubData, glIsBuffer, glMapBuffer, glUnmapBuffer