Я прочитал ответ здесь:
Что делает видеокарта с четвертым элементом вектора в качестве конечной позиции?
«Четвертый компонент - это хитрость для отслеживания перспективного проецирования. Когда вы делаете перспективное проецирование, вы хотите разделить на z: x '= x / z, y' = y / z, но это не та операция, которая может быть реализован с помощью матрицы 3x3, работающей с вектором x, y, z. Стандартом, который стал стандартным для этого, является добавление четвертой координаты w и объявление, что x, y, z всегда будет делиться на w после всех преобразований и перед растеризацией ".
но я не понял, почему мы не можем разделить на z с использованием матрицы 3x3?
мы не можем просто умножить на
1/z 0 0
0 1/z 0
0 0 1/z
получить [x/z y/z 1]
?