三维观察流水线的理解
在计算机图形学中,渲染图形的过程可以分为两大类:第一步是T&L过程全称是Transforming and Lighting,即顶点的坐标变换和光照过程,通常称为顶点变换流水线;第二步就是光栅化,对于光栅化就是按照图形顶点信息设置对应的像素的颜色,然后呈现在屏幕上。下面我们以DirectX3D中的T&L过程为例,说明具体的过程。DirectX3D中图形的顶点的坐标系是三维坐标系,而计算机的屏幕则是一个二维的平面,我们要将三维坐标系中的顶点渲染到二维的电脑平面上,就需要对顶点进行处理。使其投射到二维坐标系中,这个过程就是顶点的坐标变换。
T&L的顶点的变换过程分为以下五步:
1 世界变换
物体在三维空间中的运动以及形变的过程叫做世界变换。其中物体所在的三维空间为世界空间,物体的坐标系为世界坐标系。世界变换主要包括移动、旋转、缩放等。
2 观察变换
物体由世界坐标系转换到观察坐标系的过程叫做观察变换。这其实就像用摄像机摄影一样,摄影机所在位置就是观察点,摄像机的朝向就是观察方向。以观察点为坐标原点,以观察方向为坐标轴的坐标系就是观察坐标系。
3 投影变换
将三维空间中的顶点投影到二维平面的过程叫做投影变换。这个过程可以看做,顶点经过观察变换后,将三维坐标投影到摄像机的胶片上,以胶片的中心为坐标原点的坐标系为投影坐标系。
4 规范化变换与裁剪
5 视区变换
将浮点坐标转换为像素坐标的过程叫做视区变换。最终的坐标与定义的视区的长宽比例以及长宽大小有关。不过DirectX3D的图形渲染也没有必要必须需要经过T&L处理,像在之前的章节中,我们绘制的图形使用的顶点,在定义时被定义为经过变换的顶点,即直接将顶点的坐标作为屏幕坐标绘制出来,并没有进行T&L处理,但如果想得到绚丽的效果,T&L处理还是必须的。