将TextureAddressMode设置为Clamp适用于XNA Reach

3

我遇到了这个异常:

XNA框架Reach配置文件要求使用纹理大小不是2的幂时,TextureAddressMode必须设置为Clamp。

在Reach设置下运行游戏时出现了这个异常。

我已经将所有内容都设置为使用SamplerState.LinearClamp,但异常仍然随处抛出!

例如:

        spriteBatch.Begin(0, BlendState.Opaque, SamplerState.LinearClamp, DepthStencilState.None,
        RasterizerState.CullCounterClockwise, effect);

        spriteBatch.Draw(texture, new Rectangle(0, 0, width, height), Color.White);
        spriteBatch.End();

这应该可以工作,对吗?但是它没有!

帮帮我!


只需提供一个简单的答案,说明您是如何解决问题的。您可以在两天后将其选择为答案,这可能会帮助遇到相同错误的人。 - user1228
抱歉,我真的不记得我是如何修复它的,或者我是否修复了它? - Dois
1个回答

0

我可能对我的XNA知识有点过时了, 但是如果SpriteBatch设置为SpriteSortMode.Immediate,难道你不能只更改混合/光栅化状态吗?

当然,另一个选择是确保所有的纹理都是2的幂次方,这样它们本来就应该是的;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接