Как определить, какие преобразования мне нужно, чтобы квадрат заполнил все окно в современных OpenGL. Скажем, например, у меня есть окно 800 x 600 и координаты с вершинами двух треугольников, простирающимися от -1 и 1. Без какого-либо преобразования, эти скоординированные заполнят окно 800 x 600, потому что координаты OpenGL простираются от -1 до 1 Что делать, если я хочу использовать стандартное преобразование MVP? Как определить, что нужно сделать, чтобы заполнить все окно. Рассмотрим этот код:Сделать квадратное заполнить полное окно
glm::mat4 projectionMatrix = glm::perspective(60.0f, 4.f/3.f, 0.1f, 100.0f); // gluPerspective equivalent for those who may not know about glm
glm::mat4 viewMatrix = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -5.0f));;
glm::mat4 modelMatrix = glm::mat4(1.0f);
с теми же координатами. Я бы теперь получил квадрат где-то посередине окна. Предполагая, что я не изменяю матрицу проекций, какие изменения необходимо внести в матрицы View и Model? Я понимаю матричную математику, но не так, как она относится к самим координатам окна.
Может ли кто-нибудь помочь мне понять это?
Я никогда не мог заставить орто работать. Почему это не так: glm :: mat4 projectionMatrix = glm :: ortho (0.f, 800.f, 0.f, 600.f, -1.f, 1.f); glm :: mat4 viewMatrix = glm :: translate (glm :: mat4 (1.0f), glm :: vec3 (0.0f, 0.0f, 0.0f)) ;; glm :: mat4 modelMatrix = glm :: mat4 (1.0f) показать квадрат с координатами, описанными выше? Благодаря! – foobar5512