Texture Addressing Modes
你可能已经注意到了在TextureMapping.fx中对SamplerState对象成员AddressU = WRAP和AddressV = WRAP的赋值。这就是纹理寻址模式,当纹理坐标超出范围[0, 1]时,你可以自行控制应该怎么显示。Direct3D支持四种纹理寻址模式:Wrap,Mirror,Clamp,Border。
Wrap
在Wrap寻址模式下,在范围[0, 1]之外的部分,纹理会被当作vertex coordinates重复映射。例如,把一个纹理映射到一个四边形上,该四边形的UVs坐标是(0.0,0.0),(3.0,0.0),(0.0,3.0),(3.3,3.3),映射的结果是在UV两个坐标轴上方向都重复3次。图5.8说明了这种情况。
图5.8 A textured quad in wrap texture address mode. (Texture by Brian Maricle.)
注意:
在图5.8中,纹理贴图周围的黑色边框是实际纹理的一部分,而不是在wrap寻址过程中创建的。该黑色边框只是用于wrap寻址时标出整数边界。
Mirror
Mirror寻址模式与wrap寻址模式很相似,不同之处是在整数边界处,相邻的纹理成镜像显示而不是重复显示。图5.9中显示了在同一个纹理四边形中,使用mirror寻址模式的结果。
图5.9 A textured quad in mirror texture address mode. (Texture by Brian Maricle.)
更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/
时间: 2024-11-05 02:22:58