c# - 在 XNA 中钳制 TextureAddressMode

标签 c# xna xna-4.0

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

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

异常指出“XNA Framework Reach 配置文件要求 TextureAddressMode 在使用不是 2 的幂的纹理大小时为 Clamp”,我为解决此问题所做的每一次尝试都失败了——我最常用的解决方案我在网上找到的是把 GraphicsDevice.SamplerStates[0] = SamplerState.LinearClamp; 这行直接放在上面那行的上面,但这并没有解决我的问题。

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

最佳答案

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

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

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

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

关于c# - 在 XNA 中钳制 TextureAddressMode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10792151/

相关文章:

c# - xna 防止下坡或上坡太陡

.net - 为什么不能在VB.Net中开发XNA游戏?

xna - XNA 中非常长的Texture2D 对象的缺点?

c# - .NET 项目 : Where do I put . resx 文件?

c# - 在 ASP.NET 应用程序启动时显示 stub 页面

c# - (Xamarin.Android) 如果设备方向为横向,则转动相机图片

c# - 在 Windows Phone 7 上通话失败,但在 Windows 和 Xbox 360 上可以正常工作

c# - 一个对象怎么能不和null比较呢?

c# - XNA 应用程序没有响应

xna - 将 3D 添加到 2D 游戏