2015-11-23 158 views
1

我有我想要更新和渲染的實體列表。對於更新:矢量丟失mat4信息

變量:

std::vector<Entity> entityList; 

功能:

void EntityController::update(){ 
    for(Entity e : entityList){   
     e.update(); 
    } 
} 

,併爲實體

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

+1

的最可能的原因是您正在修改副本,而不是原始對象。 –

+0

實體的副本? – DomiDiDongo

+0

這是我的猜測。如果您可以發佈[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)會更好。 –

回答

2

update()荷蘭國際集團Entity副本與電流範圍for

for(Entity e : entityList) 
     ^huh? 

你可能想引用:

for(Entity& e : entityList) 
     ^important 
+0

謝謝,不知道:S – DomiDiDongo