Ядро кода (отображается красный прямоугольник):
//bind program, set uniforms, bind vbo
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0,0);
glDrawArrays(GL_TRIANGLES, 0, 6);
glDisableVertexAttribArray(0);
//unbind vbo, unbind program
Когда я переключаю контекст на OpenGL 3.x, этот код перестает работать (я вижу только цвет фона) , но когда я инициализирую VAO таким же образом, как и в приведенном выше коде, а затем привязываю VAO и вызываю glDrawArrays, он работает.
В чем может быть проблема? Как я могу рисовать VBO без использования VAO?
(шейдеры действительно просты, vs только множит матрицы, а ps выводит красный цвет)