Diskussion:glBufferData

Aus DGL Wiki
Wechseln zu: Navigation, Suche

Kann jemand der sich mit der Materie auskennt nocheinmal ein paar Worte zu

Zitat:

glBufferData zerstört alle existierenden Datenspeicher und setzt die Werte der Zustandsvariablen des Pufferobjekts folgender maßen:


verlieren?

Welche Speicher werden zerstört? Die die dem Objekt (VBO) gehören, oder wirklich alle? Heißt das man kann nur einen Datenspeicher zu einem Zeitpunkt im GraKa-RAM haben?

Flash 11:20, 10. Mai 2006 (CEST)

Ich würde es so interpretieren, dass er den Speicher den man angefragt hat schonmal leer definiert, also initialisiert. Er überschreibt es dann einfach mit Nullen. Auch wäre es blöd, wenn es mehr als das gewünschte entfernen würde.

--I0n0s 22:17, 10. Mai 2006 (CEST)

Das glaube ich nicht, da ja ausdrücklich dort steht, dass nur initialiert wird, wenn Werte per Pointer übergeben werden. Sonst ists undefiniert.

Flash 22:49, 10. Mai 2006 (CEST)

In der Beziehung hast du Recht. Es zerlegt alle vorher mit glBufferData angelegten Speicher, sodass immer nur einer gleichzeitig existiert. Die Änderungen beziehen sich aber nur auf den aktuell mit glBindBuffer gebundenen Buffer.

--I0n0s 10:22, 11. Mai 2006 (CEST)

Also müsste es genauer heißen:

Zitat:

glBufferData zerstört alle existierenden Datenspeicher welche an das selbe Ziel gebunden sind und setzt die Werte der Zustandsvariablen des Pufferobjekts folgender maßen:


Ist es möglich zweitgleich einen Datenspeicher an GL_ARRAY_BUFFER und einen anderen an GL_ELEMENT_ARRAY_BUFFER zu binden?

Flash 23:07, 11. Mai 2006 (CEST)

Leider finde ich GL_ELEMENT_ARRAY_BUFFER nicht in den OpenGL-Dokumentationen. Ich finde es nur bei der ARB-Erweiterung. Scheint nicht mit übernommen zu sein.

--I0n0s 23:21, 11. Mai 2006 (CEST)