void EgoMovement::update(const int delta_time) { move(delta_time); rotate(); MatrixTransform* transform = (MatrixTransform*)parent; glm::mat4 parent_matrix = transform->getMatrix(); glm::mat4 delta_matrix = glm::translate(glm::mat4(), position) * glm::rotate(glm::mat4(), rotation.y, glm::vec3(0, 1, 0)) * glm::rotate(glm::mat4(), rotation.x, glm::vec3(1, 0, 0)); transform->setMatrix(delta_matrix); }