我需要在相机位置创建视图矩阵。我尝试使用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
,则可能可行,但是相机处于默认位置。