glGetBufferSubData

Aus DGL Wiki
Wechseln zu: Navigation, Suche

glGetBufferSubData


Name

glGetBufferSubData - Liefert einen Teil des Datenbereichs eines ungemappten Puffer-Objektes.


Delphi-Spezifikation

 procedure glGetBufferSubData(target: TGLenum; offset: TGLsizei; size: TGLsizei; data: PGLvoid);


Parameter

target Ziel des Puffer-Objekts. Muss GL_ARRAY_BUFFER oder GL_ELEMENT_ARRAY_BUFFER sein.
offset Versatz/Offset der Daten, gemessen in machine basic units.
size Größe des Datenbereiches, gemessen in machine basic units.
data Zeiger auf Speicher, in den das Abfrageergebnis gespeichert werden soll.


Beschreibung

glGetBufferSubData mit target GL_ARRAY_BUFFER oder GL_ELEMENT_ARRAY_BUFFER liefert über data den mit offset und size festgelegten Bereich des Datenspeichers eines Puffer-Objektes zurück.

target gibt an, von welcher Art das abzufragende, (mit glBindBuffer) momentan gebundene Puffer-Objekt sein soll:

GL_ARRAY_BUFFER

Das momentan gebundene Puffer-Objekt dient zur Speicherung von Vertexarray-Daten.

GL_ELEMENT_ARRAY_BUFFER

Das momentan gebundene Puffer-Objekt dient zur Speicherung von Indexwerten für Vertexarrays.


data legt einen Bereich auf dem Client-Speicher fest, der size machine basic units umfassen muss, um die Daten des Puffer-Objektes zu empfangen.



Hinweise

glGetBufferSubData ist erst ab OpenGL Version 1.5 verfügbar!


Fehlermeldungen

GL_INVALID_ENUM wird generiert, wenn target ungültige Werte übergeben werden.
GL_INVALID_OPERATION wird generiert, wenn glGetBufferSubData innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
GL_INVALID_OPERATION wird generiert, falls das momentan gebundene Puffer-Objekt gemappt wird.


Zugehörige Wertrückgaben

glGetBufferParameter mit Token GL_BUFFER_SIZE gibt die Größe des Puffer-Objektes in basic machine units zurück.
glGetBufferParameter mit Token GL_BUFFER_MAPPED gibt zurück, ob ein Puffer-Objekt momentan gemappt wird.

Siehe auch

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