Только что, спустя 40 минут поиска ошибки, сделал открытие: даже если у вас есть константный массив float’ов, хардкодом забитый в шейдер вершин, openGL ничего не отрисует, если не установлен VAO.
Т.е. в случае такой ошибки просто добавляем
glGenVertexArrays(1, &VAO); glBindVertexArray(VAO);
P.S. Надо бы почитать какую-нибудь книжку, чтобы не ловить больше таких тупых ошибок.