在XNA中夹紧TextureAddressMode

我一直致力于在XNA中实现2D照明系统,并且我已经让系统工作 – 只要我的窗口的尺寸是2的幂。 否则,程序将在此行失败:

GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleStrip, Vertices, 0, 2); 

该exception指出“当使用不是2的幂的纹理大小时,XNA Framework Reach配置文件要求TextureAddressMode为Clamp”,并且我为解决此问题所做的每一次尝试都失败了 – 这是我发现的最常见的解决方案在互联网上是GraphicsDevice.SamplerStates[0] = SamplerState.LinearClamp; 直接在上面的线上方,但这还没有解决我的问题。

如果我遗漏了解决这个问题所需的任何信息,我会道歉。 我非常乐意根据需要提供更多。

这不是你之前问过的那个问题吗?

在HLSL中查找声明像素着色器正在使用的采样器的行。

您可以将地址模式设置为此行中的钳位。

 SamplerState somethingLikeThis { Filter = MIN_MAG_MIP_LINEAR; AddressU = Clamp; AddressV = Clamp; };