纹理坐标解释:
在计算机是一个二位数字,每个纹理坐标通常被称为纹理元素或纹理像素。每个纹理像素都有唯一的纹理地址,这个地址可以被称为列和行的值,分别用U和V表示。
纹理寻址模式:
通常纹理UV范围在>=0 && <= 1.0 如果超出这个范围,可以通过纹理寻址模式进行控制。
寻址模式有,
-
Wrapping纹理寻址模式
-
假设我们要创建一个正方形图元,并将纹理坐标声明为(0.0,0.0)、(0.0,3.0)、(3.0,3.0)和(3.0,0.0)。这时,如果我们设置了纹理寻址模式,就可以使纹理在U、V方向都重复三次。,如下图所示:
-
-
-
镜像纹理寻址模式
-
想在我们创建一个正方形图元,为坐标为(0.0,0.0)、(0.0,3.0)、(3.0,3.0)和(3.0,0.0)。我们设置镜像纹理寻址模式,纹理在U、V方向都重复了三次,并且每一行、每一列都与相邻的行和列成镜像关系。如下图所示:
-
-
-
钳位纹理寻址模式
-
我们创建一个正方形图元,纹理地址分配为(0.0,0.0)、(0.0,3.0)、(3.0,3.0)和(3.0,0.0)。这时,设置钳位纹理寻址模式,纹理将只使用一次,并且最顶一行和最后一列上的像素颜色会一直延伸到图元的最顶端和最右段,如下图所示:
-
-
-
纹理寻址模式与纹理Wrapping
-
Direct3D允许程序执行纹理Wrapping。但是,将纹理寻址模式设置为D3DTADDRESS_WRAP与执行纹理Wrapping使不同的。设置Wrapping纹理寻址模式只会在纹理应用使产生多个拷贝,而纹理Wrapping则会改变系统对纹理多边形的光栅方式。详细内容见“纹理Wrapping”。
-
纹理Wrapping有效时,超出范围的纹理坐标将是不正确的,并且对这样的纹理坐标进行光栅操作也没有进行定义。同时,在使用纹理Wrapping时,不能使用纹理寻址模式。
-
-