Конструктор по умолчанию glm::mat4
не инициализирует матрицу, он оставляет поля матрицы неинициализированными.
Документация glm API относится к Спецификация OpenGL Shading Language 4.20 .
5.4.2 Векторные и матричные конструкторы
Если в конструкторе векторов есть один скалярный параметр, он используется для инициализации всех компонентов построенноговектор к значению этого скаляра. Если в конструкторе матрицы имеется один скалярный параметр, он используется для инициализации всех компонентов по диагонали матрицы, а остальные компоненты инициализируются равными 0,0.
Это означает, чточтобы инициализировать матрицу с помощью Identity matrix , необходимо использовать конструктор с одним скаляром:
glm::mat4 model(1.0f);
и, конечно, Identity matrix может бытьприсваивается существующей матрице:
model = glm::mat4(1.0f);
Динамический массив, например, 100 идентичных матриц, может быть сгенерирован с помощью std::vector
с легкостью:
std::vector<glm::mat4> models(100, glm::mat4(1.0f));