DirectX11-纹理寻址模式

四种纹理寻址模式

       纹理必须与常量插值或线性插值一起使用以形成一个向量值函数 T(u,v) = (r,g,b,a)。也就是,当给定一个纹理坐标(u,v)∈[0,1] 2 时,纹理函数 T 返回颜色(r,g,b,a)。Direct3D 允许我们以 4 种不同的方式扩展该函数的值域(称为寻址模式):重复(wrap)、边框颜色(border color)、截取(clamp)和镜像(mirror)。
       1.重复:通过在每个整点连接处重复图像来扩展纹理(参见图 8.10)。

DirectX11-纹理寻址模式_第1张图片

       图 8.10 :重复寻址模式。
       2.边框颜色:通过将每个不在[0,1] 2 区间内的(u,v)映射为程序员指定的某个颜色来扩展纹理(参见图 8.11)。

DirectX11-纹理寻址模式_第2张图片

       图 8.11 边框颜色寻址模式。
       3.截取
:通过将每个不在[0,1] 2 区间内的(u,v)映射为颜色 T(u 0 ,v 0 )来扩展纹理。其中,(u 0 ,v 0 )∈[0,1] 2 ,(u 0 ,v 0 )是与(u,v)距离最近的点(参见图 8.12)。 

DirectX11-纹理寻址模式_第3张图片

       图 8.12 截取寻址模式。
       4.镜像
:通过在每个整点连接处镜像图像来扩展纹理(参见图 8.13)。 

DirectX11-纹理寻址模式_第4张图片

         图 8.13 镜像寻址模式。
        由于寻址模式始终驻留在 Direct3D 设备中(重复模式为默认值),所以当纹理坐标超出[0,1]区间时,我们仍然可以得到采样颜色。
        重复寻址模式可能是最常用的寻址模式;因为它可以把纹理平铺在物体表面上,使我们在不提供额外数据的情况下有效地提高纹理分辨率(虽然些额外的分辨率是重复的)。当使用平铺时,我们通常希望纹理是无缝的(seamless)。例如,板条箱纹理不是无缝的,因为你可以清楚地看到它的每个副本(参见图 8.10)。图 8.14 展示了将一幅无缝的墙砖纹理在平铺2×3 次后的结果。

DirectX11-纹理寻址模式_第5张图片

        图 8.14 将一幅墙砖纹理平铺 2 ×3 次。由于该纹理是无缝的,所以很难一下就看出它的重复图案。

你可能感兴趣的:(计算机图形学,计算机图形学)