"Glm :: translate" gera uma matriz com valores incorretos

Peguei um código de exemplo para testar a função glm :: translate:

glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f);
glm::mat4 trans;
trans = glm::translate(trans, glm::vec3(1.0f, 1.0f, 0.0f));
vec = trans * vec;
std::cout << vec.x << ", " << vec.y << ", " << vec.z << std::endl;

Emite o seguinte:

-4.29497e+08, -4.29497e+08, -4.29497e+08

em vez do esperado2, 1, 0

Qual é a causa possível e o que posso fazer sobre isso?

(Devo procurar a falha do lado de foraesta pedaço de código?)

questionAnswers(2)

yourAnswerToTheQuestion