glMapBuffer: Unterschied zwischen den Versionen
Flo (Diskussion | Beiträge) K (→Parameter) |
K (→Siehe auch) |
||
Zeile 39: | Zeile 39: | ||
[[glBindBuffer]], [[glBufferData]], [[glBufferSubData]], [[glDeleteBuffers]], [[glGenBuffers]], [[glGetBufferParameter]], [[glGetBufferPointerv]], [[glGetBufferSubData]], [[glIsBuffer]], [[glUnmapBuffer]] | [[glBindBuffer]], [[glBufferData]], [[glBufferSubData]], [[glDeleteBuffers]], [[glGenBuffers]], [[glGetBufferParameter]], [[glGetBufferPointerv]], [[glGetBufferSubData]], [[glIsBuffer]], [[glUnmapBuffer]] | ||
[[Kategorie:GL|MapBuffer]] | [[Kategorie:GL|MapBuffer]] | ||
+ | [[Kategorie:GL1.5|MapBuffer]] | ||
+ | [[Kategorie:GL3|MapBuffer]] |
Aktuelle Version vom 21. Februar 2014, 18:18 Uhr
Inhaltsverzeichnis
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 oder GL_ELEMENT_ARRAY_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.
Siehe auch
glBindBuffer, glBufferData, glBufferSubData, glDeleteBuffers, glGenBuffers, glGetBufferParameter, glGetBufferPointerv, glGetBufferSubData, glIsBuffer, glUnmapBuffer