现实世界中的物体表面通常有它的表面细节,即各种纹理。纹理是表达物体质感的一种重要特性,物体仅有体和面的几何结构,是不能产生仿真的真实感觉的,纹理的生成使图形更具真实感。从根本上说,纹理是物体表面的细小结构,纹理附着在材质上如生锈的钢板、结满霜的玻璃等,纹理要有丰富的视觉感受和对材质质感的体现。
纹理分为两种不同类型:颜色纹理和几何纹理。颜色纹理是在物体光滑表面上描绘附加定义的图案或花纹,它依赖于物体表面的光学属性。颜色纹理一般都是二维图像纹理,当然也有三维纹理。几何纹理又称凸凹纹理,则是在物体表面上产生凹凸不平的形状,以表达物体表面的微观几何特性。一种最常用的几何纹理就是对物体表面的法向进行微小扰动来表现物体表面的细节。获取纹理的方法有:
(1)图像绘制软件交互地创建、编辑和存储纹理位置;
(2)用照片拍下所需纹理,然后扫描得到。
纹理生成过程或技术常称为纹理映射。纹理映射又叫贴图,在图形学中指的是二维平面图到三维景物表面的转换。颜色纹理和几何纹理的生成分别称为颜色纹理映射和几何纹理映射。目前图形硬件(如SGI工作站)都具有实时纹理处理能力,允许二维图像位图上的像素值加到三维实体模型的对应顶点上,以增强图像的真实感。使用纹理映射技术有以下优点:
(1)增加了细节水平及景物的真实感;
(2)由于透视变换,纹理提供了良好的三维线素;
(3)纹理大大减少了环境模型的多边形数目,提高了图形显示的刷新频率。
在纹理映射技术中,最常见的纹理是二维纹理,映射将这种纹理变换到三维物体表面,形成最终的图像。二维纹理域映射对于提高图形的真实感有很大作用,但由于纹理域是二维的,图形场景物体一般是三维的,在纹理映射时是一种非线性映射,在曲率变化很大的曲面区域就会产生纹理变形,极大地降低了图像真实感,而且对于二维纹理映射,一些非正规拓扑表面,纹理连续性不能保证。三维纹理映射的纹理空间定义在三维空间上,与物体空间是同维的,在纹理映射时,只需把场景中的物体变换到纹理空间的局部坐标系中即可
在自然环境的虚拟仿真中,利用纹理映射技术在构造地面、房屋、树木等场景时不用建造真实的三维模型,而给地面、房屋、树木等加上纹理,在维持图形速度的同时增强真实感。在这些景物中,树的纹理比较特殊,用一个面贴上一棵树的图像以后,如果视线转动到与面的法向垂直时,这个面就变成了一条直线,解决这个问题可以采用两种方法:
一种方法是使用标志牌技术。将待贴纹理的面定义为标志牌,并且预先规定它的法向随着视线绕Z坐标轴方向转动,在以后的场景漫游中该面的法向将始终与视线方向平行。将标志牌面贴上一棵树的图像,就可以解决上述问题。
另一种方法是用两个互相垂直的面贴上树的图像,这样当视线随树转动时,不会出现上述问题。这种方法较为简单,它省去了编程上的麻烦,但在显示时,当视点离得太近时会产生图像失真。