title: 3D图形光栅化的透视校正问题？
desc: 最近在做本科毕业设计，想动手写一个 3D 图形软件光栅化器。目前在做纹理贴图的时候遇到了麻烦，关于透视校正有几个不太明白的地方：<br>1. 透视校正发生在哪一个阶段，是在摄影变换与透视变换之间，还是在视口变换之后进行插值之前？<br>2. 透视校正的具体做法是什么？是包括 z 点在内的坐标点，纹理坐标，颜色，法线等等都在插值前除以 z，插值后再乘以 z 吗？<br>3. w 的存在作用仅仅只是为了齐次坐标吗？为何一些说法是除以 w 而不是 z，我只能找到的两者之间的关系是 w 值就是摄影空间中的 z 值。
topic: 游戏开发
content: 1透视校正可以在triangle setup时插值三角形内部uv的时候做。2透视校正不是先除以在乘以，透视校正的原因是要求插值的时候相同空间的量插值相同空间的量，不要使用perspective space的量去插值view space的量。主要是uv： 直观的说，如果不使用1z插值投影的话，纹理会是这样的 ： 原因，看下图： 从Eye往3D Line划线，初中学习的三角学几何知识就可以告诉我们，Near面上的3D line投影的变化比例跟3D空间里面变化比例是不
answerer_tags: 一文盲