glm :: translate () делает недопустимую матрицу просмотра? - PullRequest
0 голосов
/ 11 января 2019

Мне нужно создать матрицу вида в положении камеры. Я попытался использовать glm::translate() для создания этой матрицы следующим образом:

glm::mat4 view = glm::translate(glm::mat4(1), glm::vec3(0, 0, -3.0f)); //creating matrix

GLuint viewMatLocation = glGetUniformLocation(shader->getProgram(), "view"); //getting location of matrix
glUniformMatrix4fv(viewMatLocation, 1, GL_FALSE, glm::value_ptr(view)); //and sending it

//So, in my vertex shader
gl_Position = projection * view * transform * vec4(position.x, position.y, position.z, 1.0f);

Если я запускаю эту программу, она рисует мне только желтое окно. Если я удаляю view из шейдера или инициализирую матрицу просмотра только конструктором по умолчанию и не использую glm::translate, это, вероятно, работает, но камера находится в положении по умолчанию.

...