3

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

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

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

如果我遗漏了解决此问题所需的任何信息,我深表歉意;我很乐意根据需要提供更多。

4

1 回答 1

1

这不是你之前问的同一个问题吗?

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

您可以将地址模式设置为夹在该行中。

SamplerState somethingLikeThis {
    Filter = MIN_MAG_MIP_LINEAR;
    AddressU = Clamp;
    AddressV = Clamp;
};
于 2012-05-31T14:40:05.983 回答