��1. 纹理的表示方法 ��二维纹理最常见的表示方法就是数字化的彩色图象,其分辨率用m×n表示,颜色数用2k表示,例如,k=1表示黑白(二值)图象;用位图(BitMap)文件(BMP文件)或其它格式的图象文件(例如:PCX,TIFF或JPEG等图象文件)保存。 ��纹理的另外一种表示方法就是用解析函数或过程来表示。实际上,许多纹理都可以用二维纹理函数t(u,v) 或函数过程来表示。例如:我们可以用三维空间中定义的共振函数(正弦函数)来生成木纹理或大理石纹理,这种纹理映射方法称为过程纹理映射。
��2. 纹理的映射方法 ��大体上,实现纹理影射的方法有两类: ��a)将纹理模式映射到景物表面,然后再从景物表面映射到投影平面,即:纹理空间→景物空间→图象空间; ��为了简化计算,由纹理空间向景物空间的映射可以采用线性映射: �� 由景物空间向图象空间的变换通过平行或透视投影来实现。然而,从纹理空间向图象空间映射时,每次选中的纹理面片与映射后得到的象素边界不匹配,需要计算象素的覆盖率,并对同一个象素进行累加。这个过程是比较复杂的。 ��b)将象素区域映射到景物表面,再由景物表面映射到纹理空间,即:图象空间→景物空间→纹理空间。 ��这一类方法避免了象素的分割计算,并能简化反走样处理;但是它一般需要计算投影变换和纹理映射的逆变换。 ��下面将介绍一些常用的纹理映射技术。 ��3. 常见的纹理映射
��(1) 圆柱映射 图8.19 圆柱面的纹理映射
��图8.19所示是一个圆柱面的纹理映射。设圆柱体表面的参数为(u,v)=(θ,z), (0≤θ≤2π),在三维直角坐标系中,表面的参数方程为: 用如下线性变换将纹理映射到圆柱表面: (8-9-1) 其中, ,s和t是纹理平面的参数,如图8.19左上角所示。 ��然后,采用某种真实感图形绘制算法(如:光线跟踪)生成该圆柱的真实感图形。圆柱表面上的点P的参数坐标可以由P的三维空间坐标(x,y,z)求得: 所以,我们可以得到"图象空间→景物空间→纹理空间"的映射关系,即线性变换(8-9-1)的逆变换: ��将被每个象素区域所覆盖的矩形纹理图案中的光亮度值取平均,把该平均值作为圆柱表面上P点的漫反射系数Kd代入光照明模型进行计算,最后就能够生成该圆柱带有纹理图案的真实感图形。