Ich bin ein VBO zu schaffen, mit Daten bevölkern, dann werden diese Daten aufbereitet wird mit dem folgenden Code:Reihenfolge der Argumente in glBindBuffer
// Buffer data
glGenBuffers(1, &VBOID);
glBindBuffer(VBOID, GL_ARRAY_BUFFER); // Shouldn't these be the other way around?
glBufferData(GL_ARRAY_BUFFER, bufferSize, buffer, GL_STATIC_DRAW);
glVertexPointer(3, GL_FLOAT, 0, buffer);
// Draw arrays
glBindBuffer(VBOID, GL_ARRAY_BUFFER);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_TRIANGLES, 0, bufferSize);
glDisableClientState(GL_VERTEX_ARRAY);
jedoch die openGL Referenz (https://www.opengl.org/sdk/docs/man/html/glBindBuffer.xhtml) sagt, dass die glBindBuffer Funktion nimmt den Zieltyp des Puffers, dann die Puffer-ID, nicht umgekehrt. Wenn ich sie auf diese Weise umgebe, zieht nichts auf den Bildschirm, aber wenn sie "falsch" herum sind, scheint es gut zu funktionieren.
Zur Klarstellung:
// Should be this
glBindBuffer(GL_ARRAY_BUFFER, VBOID);
// Only this works
glBindBuffer(VBOID, GL_ARRAY_BUFFER);
ich so das Gefühl einer jener wirklich dumm Fragen, aber ich kann einfach nicht sehen, wo das Problem ist. Könnte jemand die Situation beleuchten?
Danke.
glBindBuffer(GL_ARRAY_BUFFER, VBOID);
ich nicht erklären kann, warum Ergebnisse in erfolgreiche Zeichnung diese Argumente Umkehren:
Ah, danke. Du weißt nie, das könnte einen Unterschied machen. Was speziell qualifiziert unmittelbaren Modus? Ich dachte, es wäre nur Geometrie gezeichnet mit glBegin() und glEnd()? – ipe369
'glVertexPointer' ist definitiv veraltet, zusammen mit' glColorPointer', 'glNormalPointer' und dem Rest der festen Pipeline-Attribute. –