glMapBuffer

Aus DGL Wiki
Version vom 23. September 2006, 19:43 Uhr von Flo (Diskussion | Beiträge) (Artikel erstellt. (Informationen aus den OpenGL Spezifikationen entnommen))

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

glMapBuffer

Name

glMapBuffer - Der Buffer wird in den Speicherplatz des Clients übertragen.


Delphi-Spezifikation

function glMapBuffer(target : TGLenum; ... access : TGLenum) : PGLvoid


Parameter

target Einer der folgenden Werte: GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_UNPACK_BUFFER oder GL_PIXEL_PACK_BUFFER
access Gibt an wie auf die Daten im Client Speicherplatz dann zugegriffen werden kann. Mögliche Werte sind: GL_READ_ONLY, GL_WRITE_ONLY, oder GL_READ_WRITE


Beschreibung

glMapbuffer überträgt den Bufferinhalt in den Adressraum des Clients und gibt die Adresse des Buffers im Client-Adressraum zurück. Falls der Vorgang fehlschlägt wird NULL (bei C++) zurückgegeben. Diese zurückgegebene Adresse kann dazu benutzt werden den Buffer zu verändern. Jedoch sollte man diese Adresse nicht an andere OpenGL Funktionen übergeben(etwa um den Inhalt einer Textur festzulegen).

Bevor der Buffer wieder genutzt werden kann, muss glUnMapBuffer aufgerufen werden.


Hinweise

Bitte beachten, dass wenn man sich nicht an die mit Parameter access angegeben Speicherzugriffsregeln hält, OpenGL keine Fehlermeldung generiert. Statt dessen kann es passieren, das die Ausführung des Befehles extrem langsam ist, oder das Program sich beendet.


Fehlermeldungen

  • GL_INVALID_OPERATION wird generiert, wenn der Buffer schon in den Client Speicherplatz übertragen wurde.
  • GL_OUT_OF_MEMORY wird generiert, wenn der Vorgang aus anderen Gründen fehlschlägt.