Цитирование "https://learnopengl.com/Getting-started/Coordinate-Systems"
Далее нам нужно создать матрицу представления. Мы хотим переместиться немного назад в сцене, чтобы объект стал видимым (когда в мировом пространстве мы находимся в начале координат (0,0,0)). Чтобы перемещаться по сцене, подумайте о следующем:
Это смутило меня, потому что, прежде чем я узнаю какие-либо понятия об этих пространствах, я могу просто нарисовать треугольник, все вершины которого имеют z-координаты, равные 0, и я все еще могу его видеть (если бы я находился в (0,0,0 ), думаю, не увидит)
Один из аспектов, который, кажется, смущает многих новичков в OpenGL (или в компьютерной графике в целом), заключается в том, что на самом деле такой вещи, как камера, не существует.
Эффекты камеры реализуются простым геометрическим преобразованием. Эффект перспективы, т. е. линии, исчезающие вдали, реализуется за счет так называемого «однородного деления»: векторы, используемые в 3D-графике, содержат на самом деле 4 значения, четвертое обычно равно 1. Это позволяет объединить перемещения и повороты в единую 4 ×4 матрица преобразования.
Это также позволяет отображать преобразованное значение Z в четвертую координату W.
В качестве последнего шага, который на самом деле запрограммирован, все координаты преобразованного вектора делятся на элемент W. Следовательно, если у вас есть значения Z, отличные от 1, это создает масштабирование компонентов X и Y, которое выглядит как исчезающие линии.
Для этого матрица преобразования должна иметь ненулевые элементы в W-строке и Z-столбце, чтобы получить значения, отличные от 1 в W-элементе.
Преобразование идентичности по умолчанию сохранит преобразованное значение W равным 1, поэтому гомогенного деления не происходит.
И последнее, но не менее важное: видно все, что находится внутри объема клипа. А с преобразованием личности это объем [-1;1]³