GLuint vao;
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
glEnableVertexAttribArray(0);
vbo.bind(GL_ARRAY_BUFFER);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
glDisableVertexAttribArray(0);
ibo.bind(GL_ELEMENT_ARRAY_BUFFER); //where do I put this?
glBindVertexArray(0);
while (glfwGetWindowParam(GLFW_OPENED)) {
glClear(GL_COLOR_BUFFER_BIT);
glBindVertexArray(vao);
glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT, 0);
glfwSwapBuffers();
}
То, как я понимаю, ВАО, что я создаю Вао ручку и связать его, как этотПонимание ВАО с IBO в
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
Теперь я могу заполнить его в ВАО с этими тремя командами
vbo.bind(GL_ARRAY_BUFFER);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
glDisableVertexAttribArray(0);
Я должен отметить, что я использовал свой собственный класс vbo.
И тогда я закрываю ВАО с
glBindVertexArray(0);
И тогда я могу просто загрузить его в renderloop
glBindVertexArray(vao);
glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT, 0);
Но я не получаю никакого вывода.
Теперь я думаю, что это как-то связано с моим индексированным массивом. (ibo) Как использовать VAO с IBO?