Я играл с OpenGL и матричными операциями, и я понимаю концепцию P * V * M, но я не могу понять, почему изменение положения Z камеры не влияет на масштабирование.OpenGL Orthographic 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