Мне нужно создать матрицу вида в положении камеры. Я попытался использовать 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
, это, вероятно, работает, но камера находится в положении по умолчанию.