Можно ли безопасно использовать типы glm:: * (например, vec4, mat4) для заполнения объекта буфера вершин?
std::vector<glm::vec3> vertices;
glBufferData(GL_ARRAY_BUFFER, sizeof(glm::vec3) * vertices.size(), &vertices[0], GL_STATIC_DRAW);
Я не совсем уверен в этом, поскольку сложение структуры (выравнивание элементов) может вызвать некоторые проблемы, на мой взгляд, хотя все компиляторы, которые я тестировал, возвращают ожидаемые размеры.
Я разрабатываю для компиляторов С++ 11 (возможно, это имеет значение).