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