Po prostu próbowałem renderować pierwszy przykład redbook (biały Quad) za pomocą VBO.
To działa dobrze z trybem natychmiastowym i tablicami wierzchołków.Problem z korzystaniem z OpenGL VBO
Jednak podczas korzystania z VBO ekran pozostaje czarny. Chyba przegapiłem coś ważnego.
startowych:
unsigned int bufIds[2];
glGenBuffers(2, bufIds);
GLfloat vertices[] = {
0.25, 0.25, 0.0,
0.75, 0.25, 0.0,
0.75, 0.75, 0.0,
0.25, 0.75, 0.0
};
glBindBuffer(GL_ARRAY_BUFFER, bufIds[0]);
glBufferData(GL_ARRAY_BUFFER, 12, vertices, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glClearColor(0, 0, 0, 1);
glColor3f(1, 1, 1);
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
renderloop dla VBO (nie działa):
glClear(GL_COLOR_BUFFER_BIT);
glEnableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, bufIds[0]);
glVertexPointer(3, GL_FLOAT, 0, 0);
glDrawArrays(GL_QUADS, 0, 12);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glDisableClientState(GL_VERTEX_ARRAY);
renderloop dla tablic wierzchołków (robocza):
glClear(GL_COLOR_BUFFER_BIT);
glEnableClientState(GL_VERTEX_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawArrays(GL_QUADS, 0, 12);
glDisableClientState(GL_VERTEX_ARRAY);
+1 Awesome! Miałem dokładnie ten sam problem, dziękuję bardzo! –