glBindBuffer: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Beschreibung)
K (Fehlermeldungen)
Zeile 93: Zeile 93:
  
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
'''GL_FEHLER''' wird generiert wenn....<br>
+
* '''GL_INVALID_ENUM''' wird generiert wenn ''target'' einen ungueltigen Wert hat.
'''GL_INVALID_OPERATION''' wird generiert wenn FUNCTIONNAME innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.  
 
 
 
 
 
  
 
== Zugehörige Wertrückgaben ==
 
== Zugehörige Wertrückgaben ==

Version vom 1. Mai 2006, 09:19 Uhr

Hinweis: Dieser Artikel ist noch unvollständig.
(Mehr Informationen/weitere Artikel)

{{{1}}}

Incomplete.jpg

TODO

  • Parametertypen ueberpruefen. Sind C/C++ Typen bisher.

glBindBuffer

Name

glBindBuffer - Bindet einen benannten Buffer an ein Ziel.


Delphi-Spezifikation

procedure glBindBuffer(target : enum; ... buffer : uint)



Parameter

target Beschreibung1
buffer Ein OpenGL Name (eine natürliche Zahl. Die Zahl 0 ist für GL reserviert)


Beschreibung

Im Ausgangszustand ist der reservierte Name 0 gebunden an ARRAY_BUFFER.

Vertex Daten Arrays werden im Speicher des Clients gespeichert. Manchmal ist es aus performance Gruenden erforderlich die Daten im Speicher des Servers zu speichern. GL Puffer Objekte erlauben es den Clienten mit diesem Speicher zu arbeiten. (daher: Speicher anzufordern, zu initialisieren und davon rendern)

Ein neues Buffer Objekt wird erzeugt in dem man einen nichtgenutzen Namen(Zahl aus IN mit 0) an ARRAY_BUFFER bindet. Einen solchen Namen erhält man in dem man glGenBuffers aufruft.

Der Speicher des neuen Puffers ist mit 0 initialisiert. Jeder Puffer bietet noch eine Reihe von Einstellungen, welche folgender Tabelle zu entnehmen sind:

Name Type Startwert erlaubte Werte
BUFFER_SIZE integer 0 jede positive Zahl
BUFFER_SIZE enum STATIC_DRAW STREAM_DRAW, STREAM_READ, STREAM_COPY, STATIC_DRAW, STATIC_READ, STATIC_COPY, DYNAMIC_DRAW, DYNAMIC_READ, DYNAMIC_COPY
BUFFER_SIZE integer 0 jede positive Zahl
BUFFER_ACCESS enum READ_WRITE READ_ONLY, WRITE_ONLY, READ_WRITE
BUFFER_MAPPED boolean FALSE TRUE, FALSE
BUFFER_MAPPED boolean FALSE TRUE, FALSE
BUFFER_MAP_POINTER void* NULL address

Es ist möglich ein existierenden Puffer mit glBindBuffer zu binden. Falls dies erfolgreich verläuft wird keine Einstellung des Puffers geändert und jegliche vorherige Bindung zum Puffer ist kaputt.

Operationen auf das gebunde Ziel, beeinflussen das Puffer Objekt solange es gebunden ist. Durch Abfragen des gebunden Zielen erhält man Informationen über den Status des Puffer Objektes.

Hinweise

Erst in OpenGL Version 1.5 Verfügbar!


Fehlermeldungen

  • GL_INVALID_ENUM wird generiert wenn target einen ungueltigen Wert hat.

Zugehörige Wertrückgaben

glGet mit Token GL_MEIN_TOKEN Der Rückgabewert der Funktion gehört in den Abschnitt "Beschreibung".


Siehe auch

glDeleteBuffers, glGenBuffers, glBufferData, glBufferSubData, glMapBuffer, glUnmapBuffer