综述
透视投影变换是渲染管线几何阶段最难理解的地方,实际上,透视投影变换这个过程是要分解成好几个子过程的,它的目的是把物体的三维视图坐标变换为可以在屏幕上描绘出来的二维屏幕坐标。
现在理清一下渲染管线几何阶段的过程:
可以看出,透视投影变换被分解为了三个子过程
1.齐次裁剪变换 : 在该过程中主要是通过Camrea、远近平面、宽高比、视角等信息求出投影变换矩阵,并对结点进行变换,变换后结点在齐次裁剪坐标系下。
2.裁剪 : 对位于齐次裁剪坐标系下的Vertex进行必要的裁剪
3.透视除法 : 对结点进行透视除法,完成从三维坐标到二维屏幕坐标的映射。
齐次裁剪变换
所谓的齐次裁剪变换可以用一张图来直观的说明:
原来的不规则视椎体被变换为了一个规则的小盒子(这个小盒子又称为规则观察体(Canonical View Volume) 简称CVV),在该坐标系下,所有物体的坐标都满足以下条件:
x ∈ [ − 1 , 1 ] y ∈ [ − 1 , 1 ] z ∈ [ 0 , 1 ] x \in [-1,1] \quad\quad y \in [-1,1] \quad\quad z \in [0,1] x∈[−1,1]y∈[−1,1]z∈