В примере к видовой матрице указано:
glm::mat4 View = glm::lookAt(
glm::vec3(4,3,3), // Камера находится в мировых координатах (4,3,3)
glm::vec3(0,0,0), // И направлена в начало координат
glm::vec3(0,1,0) // "Голова" находится сверху
);
Вопрос касательно 3го параметра. Разве up
вектор, не должен указывать именно на точку над камерой (выше камеры)?
Если у нас камера находиться в координатах (4,3,3)
, тогда up
должен быть (4,4,3)
. Или нет?
Как уже написали в комментариях, up
задается относительно позиции камеры.
up = точка_над_камерой - позиция_камеры = (4,4,3) - (4,3,3) = (0,1,0)
.
Вы, очевидно, путаете термины вектор и направленный отрезок. Термин вектор соответствует всему классу направленных отрезков одинаковой длины и направления, а не какому-то конкретному отрезку. У вектора нет и не может быть конкретной позиции, т.е. он по определению никак не привязан и не может быть привязан ни к какой конкретной точке. В каком месте располагается ваша камера - не имеет никакого значения. В вашем случае речь идет о том, что направление "up" задается вектором (0, 1, 0)
, ни больше, ни меньше.
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть код, в котором я ввожу число N, а потом просто ввожу в цикле по N строки, состоящие из пробелов, цифр, скобок и дефисовПотом я хочу...
В C можно рендерить svg в cairo с помощю librsvg, чем рендерить svg в gtkmm? cairomm? или как засунуть в cairomm GdkPixbuf*?