转自:http://cg.sjtu.edu.cn/lecture_site/chap9/mainframe971.htm#1
用离散法定义纹理较为常用,它将纹理图象数据定义在一个二维数组中,这个数组可以是各种图形或图象。用这种方法定义的纹理,方法灵活,修改也方便,比较适合于交互式系统的纹理映射显示。
任何定义在二维空间(u∈[0,1],v∈[0,1])的函数均可作为纹理函数。
实际应用中常采用一些特殊函数。
例如,下面的纹理函数可以模拟粗布纹理:
f(u,v)=A(cos(pu)+cos(qv))
A为[0,1]区域上的随机变量;p,q为频率系数。
而下面的函数定义一个棋盘方格纹理函数:
同一些CAD系统中描述区域填充图案一样,用一些参数定义纹理模型,纹理模型可以用文本性文件描述,尤其适合于对构成一个场景的各景物定义各自的纹理模型,例如室内布置中对沙发定义呢质纹理、对家具定义木纹纹理、对地面定义大理石纹理等等。纹理使用时,由一个通用的解释程序(它再分别调用相应的过程)对纹理先解释再映射(因此也可以称为过程式纹理定义)。
No.1 checker //棋盘
AmbColor(RGB,0-1) 0.6 0.3 0.3
//环境光RGB三原色分量
DifColor(RGB,0-1) 0.5 0.5 0.5
//反射光RGB三原色分量
SpcColor(RGB,0-1) 0.2 0.2 0.2
//透射光RGB三原色分量
Gloss 8 //光泽性(景物有多亮)
Tile 0.125 //棋盘大小
Tile1(RGB,0-1) 0.8 0.2 0.8 //棋盘色彩
Tile2(RGB,0-1) 0.2 0.2 0.2