Leí la respuesta aquí:
¿Qué hace la tarjeta gráfica con el cuarto elemento de un vector como posición final?
"El cuarto componente es un truco para realizar un seguimiento de la proyección en perspectiva. Cuando haces una proyección en perspectiva, quieres dividir por z: x '= x / z, y' = y / z, pero esta no es una operación que puede implementarse mediante una matriz de 3x3 que opera en un vector de x, y, z. El truco que se ha convertido en estándar para hacer esto es agregar una cuarta coordenada, w, y declarar que x, y, z siempre se dividirán por w después de aplicar todas las transformaciones y antes de la rasterización ".
pero no entendí por qué no podríamos dividir por z usando una matriz 3x3?
¿No podemos simplemente multiplicar por
1/z 0 0
0 1/z 0
0 0 1/z
Llegar [x/z y/z 1]
?