我可以安全地使用 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 编译器开发(也许这会有所不同)。