OpenGL нормально "вверх" направление? - PullRequest
0 голосов
/ 08 октября 2018

Я недавно следил за этим сайтом: https://learnopengl.com/, чтобы изучить OpenGL, затем я обнаружил, что в функции glm :: lootAt в статье говорится, что третий параметр обычно (0.0, 1.0, 0.0), но почему?Я думаю, чтобы описать положение элемента, такого как (x, y) и z быть высотой (вверх), разве это не более интуитивно?

Кстати, я нашел в Blender, z также "вверх "направление.Поэтому я хочу знать, почему мы используем такую ​​презентацию (или если я использую свой собственный стиль, это нормально?).

1 Ответ

0 голосов
/ 08 октября 2018

Первое: все дело в условностях.С математической точки зрения вы могли бы даже использовать x -up, и это было бы хорошо (хотя я не рекомендовал бы это, если у вас нет веской причины использовать его).

Самое главное, это о соблюдении соглашений, которые вы хотите использовать, и последовательным образом, чтобы ваши значения и вычисления имели смысл.Независимо от того, решите ли вы использовать y или z в качестве вектора повышения, вам необходимо придерживаться этого во всем коде.

Что касается причины y, вы также можете думать «интуитивно»что x и y - это боковые и верхние векторы на вашем экране, и что z, третье измерение, добавляет глубину в 2D-пространство при добавлении к этим двум измерениям.

В конечном итоге вы можетеиспользуйте то, что вы хотите, но пока вы придерживаетесь этого, и что вы также учитываете весь конвейер.Если вы (или кто-то еще) создаете модель в Blender или любом другом программном обеспечении для 3D-моделирования, если вектор роста в пространстве модели отличается от используемого вами, вам придется принять это во внимание.

...