PipeLine_I--图形管线的各个变换矩阵

Ray Casting vs. Rendering Pipeline

 

Ray Casting

For each pixel

    For each object

*整个场景必须要在内存中

*Depth复杂度:隐藏部分没有计算

*原子计算

*更具一般性,更灵活

 

Rendering Pipeline

For each triangle

    For each pixel

*一次处理一个基元

*只能对顶点进行几何变换

*早期阶段涉及分析过程

*运算随着pipeline的深度增加而增加

*取样在pipeline的后期发生

*有最小状态要求

 

The Graphics Pipeline

图形流水线的线路是这样的:

Modeling Transformations->模型变换

Illumination(Shading)->光照

Viewing Transformation(Perspective/Orthographic)->视角变换

Clipping->裁剪

Projection to Screen Space->投影至屏幕空间

Scan Conversion->光栅化

Display->显示

对上述的图形流水线进行一个小结:

*几乎每个阶段都涉及坐标变换,理解了变换,也就理解了3D计算机图形学

*基元在通过一系列阶段的过程中被处理

*每个阶段将其结果传至下一个阶段

*流水线可以用多种方式实现

*一些阶段是在硬件中实现,一些是用软件实现

*优化以及附加编程在一些阶段是允许的

下面逐一介绍流水线的各个阶段.

模型变换阶段

3D模型在其对象坐标内被定义出来,然后变换到世界坐标系中.

 

光照阶段

根据材质属性,表面属性以及光源,将顶点打亮.使用的是局部光照模型,如Phong模型等.所谓局部光照,即只考虑光源照到物体表面的光线,而全局光照则要考虑整个场景中的反射,物体的透视等.光线跟踪算法可以实现全局光照.

 

视角变换

将世界空间映射到视觉空间

 

裁剪

变换至NDC,即正规设备坐标.在视口外的对象部分将被裁剪掉.

 

投影至屏幕

将NDC中的对象投影到屏幕空间,屏幕空间是一个二维的空间.

 

扫描转换(光栅化)

将对象光栅化为像素点.同时对各像素点进行插值.

 

显示

每个像素记录最近的对象.

 

其中涉及的空间依次是对象空间,世界空间,视角空间,裁剪空间(NDC)以及屏幕空间.

 

投影变换

各种Transformations

刚性变换(Rigid-Body Transforms): 变换对象内部的距离和角度都不变,比如平移和旋转.

相似变换(Similarity Tranforms): 变换对象内部的角度保持不变,包括各向同性的缩放.

线性变换(Linear Tranformations): 满足L(p+q)=L(p)+L(q), L(ap)=aL(p),包括一般缩放,反射和斜切.平移不是线性变换!

仿射变换(Affine Transformations): 变换对象内部的平行线保持不变.包括刚性,相似,线性变换.

投影变换(Projective Transformations): 变换对象内部的线保持不变.

 

各种基本变换的齐次坐标方程:

平移:

缩放:

特殊旋转(绕原点旋转):

一般旋转(绕轴(Xk,Yk,Zk)旋转):

 

 

 

正交投影 vs. 透视投影

简单的正交投影,比如将所有点都沿着z轴投降z=0平面,变换矩阵如下:

简单的透视投影,比如将所有点投向z=d平面,变换矩阵如下:

 

世界空间到视角空间的变换

已知世界坐标系W,通过变换矩阵C,变换到视觉坐标系V.有V=CW.对于W中的一点p(x,y,z)

 

正交视觉空间转换为NDC

    该投影变换矩阵把一个(left,right,bottom,top,-near,-far)的视见体变换为中心位于原点,边长为2的立方体.这个矩阵其实是由平移矩阵T和缩放矩阵S级联得到.首先,通过平移把指定视见体的中心移动到规范视见体的中心即T(-(left+right)/2, -(top+bottom)/2, +(near+far)/2);其次,要缩放指定的视见体使得其每条边的长度都为2,即S(2/(right-left), 2/(top-bottom), 2/(near-far)).

 

投影视觉空间转换到NDC

    该透视投影变换矩阵P=NSH,其中H是剪切矩阵,与投影射线的角度有关,将视见体化为对称棱台;S是缩放矩阵,将上下左右裁剪面化为标准值;N是投影规范化矩阵,将视见体化为规范裁剪体.

你可能感兴趣的:(计算机图形学,图形,transformation,casting,each,object,影视)