在XNA网格上的透明纹理的边缘行

我有一个计算机生成的网格,在其一面上具有透明度纹理。 SamplerState设置为LinearWrap,因为我希望纹理包装。 我的问题是,这个透明的边缘有一些奇怪的别名。 当我将SamplerState设置为LinearClamp时,不会发生这种情况。

我发现当U坐标从0.1到0.9时,这不会发生。 可能在透明的一面插值U坐标1与U坐标0。

除了不让U坐标一直到1以外,还有什么办法可以防止呢?

在这里输入图像描述

创建一个你自己的新的SamplerState,并像这样设置它:

mySampler.Filter = TextureFilter.Linear; mySampler.AddressU = TextureAddressMode.Clamp; mySampler.AddressV = TextureAddressMode.Wrap; mySampler.AddressW = TextureAddressMode.Wrap; 

V坐标将被包裹(因为你想水平重复)和U将被钳位。