Я видел много программ, делающих это на этапе инициализации (псевдокод):
glGenVertexArrays(vao)
glBindVertexArray(vao)
glGenBuffers(vbo)
glBindBuffer(GL_ARRAY_BUFFER, vbo)
glBufferData(into the vbo)
glVertexAttribPointer(instruct the vao on vbo's memory organization)
glBindBuffer(GL_ARRAY_BUFFER, 0); // Unbind VBO
glBindVertexArray(0); // Unbind VAO
glGenBuffers(vbo for indices)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo for indices)
glBufferData(populate indices vbo)
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); // Unbind vbo for indices
это правильный способ сделать это? Сохраняет ли VAO также ссылку на индексы vbo, чтобы я мог отменить привязку vao после инициализации vbo для индексов (и вообще избежать привязки vbo для индексов на этапе рисования)?