我有一个班级AssetInstance
,其std::vector<glm::vec3> vertices
有顶点。它还包含变量position
和size
。当我想更新它的顶点时,我的印象是我可以做的:
for(glm::vec3& vertex : vertices)
vertex = glm::vec3(translate() * scale() * glm::vec4(vertex, 1));
其中translate是:
glm::mat4 AssetInstance::translate()
{
return glm::translate(glm::mat4(), position);
}
并且比例是:
glm::mat4 AssetInstance::scale()
{
return glm::scale(glm::mat4(), size);
}
然而,当我运行该循环时,它最终将顶点中的每个顶点设置为相同的值,并且该值远不及它应该的值。我知道我在这里做错了什么,但我无法弄清楚是什么。