![](../chapter1/images/nav_arrow.gif) |
![](../chapter1/images/left01.gif) |
|
|
|
|
|
|
|
|
|
|
第四节
纹 理 |
|
|
|
|
|
|
|
|
纹理(texture)——物体的表面细节
光滑表面上额外地增加图案,当图案加上后,表面仍然保持光滑,这一过程基本上可用一个映射函数描述;
表面呈现出凸凹不平的形状,这一过程可用一个扰动函数来描述。
光滑表面上描绘花纹是花纹图案在客体表面上的映射,即可以表示为由一个坐标系至另一个坐标系的变换.
在纹理空间的正交坐标系(u,w)中定义一个纹理图案,而在另一个正交坐标系(s,t)中定义了一个表面,那么,通过一个函数变换,即一个映射函数来把花纹绘制到表面上去。
最简单的映射,可以是一个线性函数.如 s=Au+B
, t=Cw+D 纹理的定义可能不是由数学函数给出的,这样的纹理包括一般绘制的图案及照片等其它形式的图案.这多用一个二维数组定义,数组代表一个用于光栅图形显示的位图。
显示纹理图案涉及从物体空间到图象空间,以及从纹理空间到物体空间的变换,此外还要进行适当的视图变换。
我们可以用Catmull的分割算法来实现纹理的显示,在这个算法中,曲面片不断地被分割,直至每一个子曲面片仅包含一个象素中心为止,然后,将子曲面片中心的参数值映射到纹理空间中,根据纹理空间中相交点处的花纹图象值决定该像素处的光强.
对于具有不同粗糙程度的物体表面纹理的实现,可以通过对表面法向量进行扰动,来产生凹凸不平的视觉效果。
|
|
|
|
|