我一直在玩OpenGL和矩陣操作,我理解P * V * M的概念,但我不明白爲什麼改變'camera'的Z位置沒有縮放的效果。OpenGL Orthographical Projection
當使用透視投影時,更改相機的Z值會產生縮放效果(如我所料)。
glm::mat4 Projection = glm::perspective(45.0f, 4.0f/3.0f, 0.1f, 100.0f);
glm::mat4 View = glm::lookAt(
glm::vec3(0,0,3), // changing 3 to 8 will zoom out
glm::vec3(0,0,0),
glm::vec3(0,1,0)
);
glm::mat4 Model = glm::mat4(1.0f);
gml::mat4 MVP = Projection * View * Model;
但是,當我使用正投影,改變3到8或任何東西它沒有縮小的效果。我知道他們是非常不同的預測,但我正在尋找一個解釋(背後爲什麼不起作用的數學會特別有用)。
glm::mat4 Projection = glm::ortho(
0.0f,
128.0f,
0.0f,
72.0f,
0.0f,
100.0f
);
所以要放大的正投影的方法就是通過改變傳遞到'GLM :: ortho'的數字? – TomShar