关于c ++:vector正在丢失mat4信息

vector is loosing mat4 information

本问题已经有最佳答案,请猛点这里访问。

我有一个要更新的实体列表,而不是呈现。更新:

变量:

1
std::vector<Entity> entityList;

功能:

1
2
3
4
5
void EntityController::update(){
    for(Entity e : entityList){        
        e.update();
    }
}

以及实体的更新功能

1
2
3
4
5
6
7
8
void Entity::update(){

glm::mat4 trans = glm::mat4();
trans = glm::translate(trans, glm::vec3(50.0f,0.0f,50.0f));
trans = glm::scale(trans, glm::vec3(21.0,21.0,21.0));

modelMatrix = trans;
}

我的问题是,模型矩阵实际上是有效的。只要我在类实体中,我就可以在查看它(调试模式xcode)时找到我的所有信息。

但当我不在这个类中时,模型矩阵中的信息又是一个单位矩阵。不知何故,他不保存或更新信息:s


你是update()ing Entity份,你的当前范围是for份:

1
2
for(Entity e : entityList)
          ^ huh?

你可能想要推荐信:

1
2
for(Entity& e : entityList)
          ^ important