Пытаюсь концептуализировать Look At MatrixC++

Программы на C++. Форум разработчиков
Anonymous
Пытаюсь концептуализировать Look At Matrix

Сообщение Anonymous »

Я просматривал гл. книги «Изучение OpenGL». 10 на камерах и дошёл до следующей строки кода:

Код: Выделить всё

glm::vec3 cameraPos = glm::vec3(0.0f, 0.0f, 3.0f);
glm::vec3 cameraFront = glm::vec3(0.0f, 0.0f, -1.0f);
glm::vec3 cameraUp = glm::vec3(0.0f, 1.0f, 0.0f);

view = glm::lookAt(cameraPos, cameraPos + cameraFront, cameraUp);
Как cameraPos + cameraFront создают подходящую цель, если мы хотим посмотреть на источник? Насколько я понимаю, cameraFront — это вектор направления, который обычно указывает назад через вектор положения, как показано на этой диаграмме. Добавление векторов положения и направления, похоже, не указывает ни на что полезное; кажется, что он указывает обратно на вектор направления.
Почему получается, что результирующий целевой вектор указывает на камеру, а не камера, указывающая на начало координат? Это потому, что применяется обратное, поскольку мы хотим трансформировать объект, а не саму камеру?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -at-matrix

Вернуться в «C++»